The concurrency setting controls how many listeners consume messages concurrently. You should not use more than 1 consumer for topics, otherwise, the message may be consumed twice on the same node.
<jms:listener-container
container-type="default"
connection-factory="connectionFactory"
acknowledge="auto"
concurrency="1"
cache="consumer">
<jms:listener destination="TEST.FOO"
ref="simpleMessageListener"
method="onMessage" />
</jms:listener-container>
See this too... https://stackoverflow.com/a/5808803/791406
Spring Docs... http://static.springsource.org/spring/docs/3.0.5.RELEASE/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html