If you use lots of sendSync, which is your case, you will need
to change the default configuration of your thread pool, so that
you can have an unbounded number of threads, without queuing
the requests (as the queue will only be processed by existing
threads). See http://servicemix.goopen.org/site/thread-pools.html
Try with the following snippet
<sm:executorFactory>
<bean class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
<property name="defaultConfig">
<bean class="org.apache.servicemix.executors.impl.ExecutorConfig">
<property name="corePoolSize" value="4"/>
<property name="maximumPoolSize" value="-1"/>
<property name="queueSize" value="0"/>
</bean>
</property>
</bean>
</sm:executorFactory>
It changes the default configuration to not use any queues. It means
that it's not really SEDA anymore, but SEDA is not very effective when
using only sendSync (as there is always a waiting thread). The above
configuration should allow the thread pool to grow as needed.
On 9/26/06, Charles Souillard <[EMAIL PROTECTED]> wrote:
Hi all,
I have a factorial service example which was running well with a nightly
build from last thursday (2006/09/21) and it is not working at all since
yesterday (nightly build 2006/09/25).
Between these two dates, I have seen that a thread pool has been added.
Is it possible that there is a problem with that ?
My example is as follow :
client -> sm-http -> BPEL SE -> BPEL Engine -> BPEL-SE.... -> sm-http ->
client
You can find hereafter the traces I get. In fact, in a normal execution,
the following calls are performed :