You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Joshua Watkins <jo...@gamesys.co.uk> on 2011/04/26 14:09:13 UTC

Reinstating JMS SimpleMessageListenerContainer

A while ago there was a discussion topic that the
SimpleMessageListenerContainer/ConsumerType.Simple was removed from
camel-jms as it was deprecated. However from looking at the latest Spring
docs ( 
http://static.springsource.org/spring/docs/3.1.0.M1/javadoc-api/org/springf
ramework/jms/listener/SimpleMessageListenerContainer.html ) it is alive
and kicking.

Is there another reason that this feature was removed?

The reason I am so keen on the SimpleMessageListenerContainer is that the
DefaultMessageListenerContainer does not allow you to constrain the number
of threads used in a useful way. If you give it a task executor with a
maximum 5 threads and want to listen on 10 routes, only 5 of those routes
would be consumed from. There is even a note about this fact in the docs (
http://static.springsource.org/spring/docs/3.1.0.M1/javadoc-api/org/springf
ramework/jms/listener/DefaultMessageListenerContainer.html#setTaskExecutor(
java.util.concurrent.Executor) ). This makes the
SimpleMessageListenerContainer invaluable for scaling out an application
using camel-jms.


-josh