Normally a Fusion session is created once, possibly initialized with some static facts,
and then you use the entry point to insert events, call fireAllRules, and wait for the
next event to arrive from its source. Therefore, keep the session and the entry point
for repeated use by the last two statements.

On 22 October 2010 06:08, Pankaj Khattar <> wrote:


I am facing the same problem, i have read somewhere that we can use the same
session throughout the application but I'm unable to figure it how?

Also how can we insert events from my application into the same working
memory entry-point?

Below is the code I'm using please let me know if this is the right way to
do it

static StatefulKnowledgeSession session;

session  = knowledgeBase.newStatefulKnowledgeSession();
WorkingMemoryEntryPoint entryPoint =
entryPoint.insert(new MyReceivedEvent());

I'm calling the above code every time a new event is received. Also in the
finally block I'm calling session.dispose();

While inserting the 2nd event in entry-point I'm getting
org.drools.RuntimeDroolsException: Unexpected exception executing action
org.drools.reteoo.PropagationQueuingNode$PropagateAction@9ff411  Caused by:

Can anyone please let me know the right way to do it?
View this message in context:
Sent from the Drools - User mailing list archive at
rules-users mailing list