Hi,
Our setup consists on some BPMN process being executed when a rule
fires. Our process has a node of type Task for which a handler is available
at the knowledge session. Our handler invokes a web service and waits (
blocks ) for the response before completing the task and letting the BPMN
process continue.
Well, we've inserted a hundred facts in the session that trigger the
rule that triggers the BPMN process that triggers the web service call ...
what we are seeing ( using the statistics gathered using JMX and our own
experience ) is that 100 rule activations are created and only one fires,
the rest, are "waiting" for the web service to respond. When the web
service responds then another rule fires, and so on. For an iliterate point
of view, seems that there's only one thread for it all, drools expert,
fusion and flow ...
Our session is stateful and we this is how we manage our session:
new Thread(new Runnable() {
public void run() {
session.fireUntilHalt();
}
}).start();
How do we get the rules to fire in parallel? Is there any better way
to get this done ( to get the processes executed in parallel and not
blocking the execution of the rules)?
Greets,
Alberto R. Galdo
argaldo(a)gmail.com