Hi Gert,
Probably you're right about the thread considerations,
but what i'm care about if it's right to use sendSync() as it's now in
org.apache.servicemix.drools.model.JbiHelper.
BTW the JBIHelper as it's now is mine contribution, so i'll reopen
http://issues.apache.org/activemq/browse/SM-1248
to provide a new version of jbiHelper.
Andrea
Gert Vanthienen ha scritto:
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