Andrea,
It looks like you might have exhausted the thread pool for the
servicemix-drools component. If you have several exchanges flowing
through multiple drools endpoint that all use sendSync, you might have
ended up with a situation where all threads of the thread pool are
waiting on sendSync to return, but none of them ever will because you
need additional threads from the same component to handle the
exchanges. You should be able to verify if this is the case by
connecting to the container with a JMX console and looking at the state
of the drools component threads.
To resolve this, you can increase thread pool size by modifying
conf/servicemix.properties or you can increase the thread pool for the
drools component specifically by following the instructions at
http://servicemix.apache.org/thread-pools.html. If we could avoid using
sendSync alltogether (and use asynchronous message exchanges instead)
that would be even better, but I'm not sure that is possible with the
drools component.
Regards,
Gert
Andrea Zoppello wrote:
Hi all i'm having some trouble having a process where i have a file bc
input binding componen, and then a drools endpoint.
What's very interetsing is that in my drools script i'm using
jbiHelper routeTo to send the exchange to another drools endpoint and so
on.
What is very strange is that if i've one xml file in the folder all is
ok. If i've ore than one file i'm having servicemix blocked
on jbiHelper route method on sendSync istruction.
I've not just find a solution for this, is anyone experimenting the
same situation??
The case is when in a drl file you're using jbi helper to route to
another drools endpoint, and you try to test this in load situation
where you've more than
one exchanges on the endpoints.
Any idea?? On that??
Andrea