我需要一种使用来自多个activemq jms队列的消息的方法。
根据activemq文档,它支持wildcard consumers
我使用 Camel 作为消息传递总线。是否可以在下面的命名队列中查看
aaa.processQueue
bbb.processQueue
ccc.processQueue
通过配置 Camel 路线来查看
activemq:*.processQueue
端点?还请让我知道,是否有更清洁的替代方法。
最佳答案
是的。由于Camel正在使用OpenWire/JMS客户端,因此应该可行。
您的选择是:
from("activemq:*.processQueue")
from("activemq:aaa.processQueue,bbb.processQueue,ccc.processQueue")
from("activemq:aaa.processQueue").to("direct:doProcess");
from("activemq:bbb.processQueue").to("direct:doProcess");
from("activemq:ccc.processQueue").to("direct:doProcess");
from("direct:doProcess").whatever..
这样,您就可以轻松地打开/关闭路由,并为一个路由分配更多的使用者,因为您需要对
aaa.processQueue
消息比其他消息拥有更高的优先级。