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.

Reply via email to