Hi,
I have spoken with the Drools developers and they are aware of the problem
and are going to fix it. In my previous post, I mentioned that if you
comment out the line:
wm.setRuleFlowEventSupport(this.ruleFlowEventSupport );
in the function newWorkingMemory() within the file
StatelessKnowledgeSessionImpl.java, it will solve the problem (but
potentially cause others.)
The reason commenting out that line solves the problem is that the default
constructor for a StatefulKnowledgeSession (which StatelessKnowledgeSession
wraps) sets a Rule Flow event listener which is actually responsible for
making Rule Flows work within Expert. It listens for when a Rule Flow group
is empty, and sends the proper signals for advancing to the next Rule Flow
group. The line in question above is meant to allow any custom Rule Flow
group listeners you might have set on the StatelessSession to work on the
temporary StatefulSession used internally, but unfortunately, it erases the
one set in the StatefulKnowledgeSession constructor that Flow needs to work.
As I said, I have reported this issue. If you comment out the line, the main
functionality will work (as far as I am able to determine), however no
custom Rule Flow events will work. The real fix will be to merge the two
objects.
Hope this helped,
Jeff
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Flow-within-St...
Sent from the Drools - User mailing list archive at
Nabble.com.