我们正在尝试在 activemq 中消费消息。生产者(我们无法控制)将不同的消息放入队列和主题中。作为消费者,我如何将我的客户端配置为同时从队列和主题中消费?我能想到的唯一方法是创建两个不同的消费者,一个连接到队列,另一个连接到主题。这种方法是否正确,或者我可以做些什么来创建一个同时收听两者的消费者?
谢谢K
我们正在尝试在 activemq 中消费消息。生产者(我们无法控制)将不同的消息放入队列和主题中。作为消费者,我如何将我的客户端配置为同时从队列和主题中消费?我能想到的唯一方法是创建两个不同的消费者,一个连接到队列,另一个连接到主题。这种方法是否正确,或者我可以做些什么来创建一个同时收听两者的消费者?
谢谢K
ActiveMQ standard distribution comes bundled with Apache Camel.
Given that you are running the standard ActiveMQ - you could add a small route to Camel that does this for you.
Edit the "camel.xml" int the /conf folder.
Add two routes:
<route>
<from uri="activemq:topic:someTopic"/>
<to uri="activemq:queue:comboQueue"/>
</route>
<route>
<from uri="activemq:queue:someQueue"/>
<to uri="activemq:queue:comboQueue"/>
</route>
Make sure this camel.xml is included in the ActiveMQ config, such as Activemq.xml.
Now, just consume from "comboQueue" and you get all messages in one place.
您可以使用 ActiveMQ 的复合目标功能来实现这一点,该功能允许您侦听多个目标和不同类型的目标。