阿帕奇骆驼;如何从匹配模式的队列目的地路由所有消息

Apache Camel; How to route all message from queue destinations matching a pattern

我正在尝试将收到的所有消息路由到与 "amq:events:*" 等模式匹配的队列目的地,其中 * 是通配符。

  <camel:route id="event-route" >
      <camel:from uri="amq:events:*" />
      <camel:to uri="file:work/jms/all-events" />
  </camel:route>

消息可以发送到amq:events:dest1或amq:events:dest2等

有没有办法在骆驼中做到这一点?

是的,您可以使用 ActiveMQ 通配符:http://activemq.apache.org/wildcards.html

从 Camel 本身看这个单元测试是如何完成的:https://github.com/apache/camel/blob/master/components/camel-jms/src/test/java/org/apache/camel/component/jms/activemq/ActiveMQConsumeWildcardQueuesTest.java

注意通配符是一个特殊的 ActiveMQ 功能。并非所有经纪人都支持类似的东西。