Apache Camel多个JMS侦听器

时间:2014-07-14 19:01:09

标签: jms apache-camel spring-jms

我正在使用apache camel并且可以使用一些我无法弄清楚的帮助。我想在一个JMS队列上有多个集合监听器。

我有一个以下配置为我的驼峰上下文

<route id="customerDataRoute" autoStartup="false">
<from uri="activemq:customer.data"/>
<to uri="dataListener"/>
<choice>
...

我想在customer.data队列中有多个集合监听器,但我不确定我是否正确设置了它,或者它是否只是一个我无法确定的配置选项。我可以启动一个实例,但只能获得一个监听器。

任何帮助都非常适合! 谢谢!

1 个答案:

答案 0 :(得分:2)

你有几个我能想到的选择:

  • 定义多个侦听同一队列的路由。如果你想让不同的听众因某种原因做不同的事情,那就很好。
  • 更常见的方法是将concurrentConsumers定义为多个。请参阅http://camel.apache.org/competing-consumers.html

在这种情况下,您将从多个线程调用一个dataListener,因此您必须确保其线程安全。