jms:provider in-out mep and spring container can be performance bottleneck
--------------------------------------------------------------------------
Key: SMXCOMP-685
URL: https://issues.apache.org/activemq/browse/SMXCOMP-685
Project: ServiceMix Components
Issue Type: Improvement
Components: servicemix-jms
Affects Versions: servicemix-jms-2009.01
Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24
22:46:06 UTC 2009 i686 GNU/Linux
JAVA:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
Server:
apache-tomcat-6.0.14
Reporter: Christian Connert
If no replyDestinationChooser is set the JmsProviderEndpoint class uses the
replyDestinationName / replyDestination. It then sets asynchronous to true ->
it then uses a Spring JMS listener container.
But this container can't be configured, thus it has a conurrency level of 1 ->
in a multithreaded scenario this is a performance bottleneck, since only one
thread at the time receives messages from the listener container.
The simple workaround is to set the replyDestinationChooser property in the
xbean.xml file -> the spring jms template receiveSelected method is used.
Since this isn't documented and most likely the replyDestinationName will be
set (as I did myself) I would suggest to either extend the documentation or
make the listenerContainer configurable via spring.
I would prefer the second suggestion since it leaves the choice to the user.
Probably it's the best follow both suggestions.
Greetings
Christian
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.