【发布时间】:2019-06-02 12:21:09
【问题描述】:
我有两个虚拟主题:T1、T2。我有一个名为 FOO 的消费者。
session.createTopic("VirtualTopic.T1");
session.createTopic("VirtualTopic.T2");
有了这个,我可以使用这个获取每个队列的消息:
destination = session.createQueue("Consumer.FOO.VirtualTopic.T1");
consumer = session.createConsumer(destination);
Message msg = consumer.receiveNoWait();
destination = session.createQueue("Consumer.FOO.VirtualTopic.T2");
consumer = session.createConsumer(destination);
Message msg = consumer.receiveNoWait();
有没有办法可以“订阅”一个新队列(我们将其命名为“FOOqueue”)到以前的队列 @987654324@ 和 Consumer.FOO.VirtualTopic.T2?
这样我可以创建一个只指向“FOOQueue”的消费者并获取所有消息(将来我可以从“FOOQueue”订阅其他队列并从其他队列获取消息)。
【问题讨论】:
-
你熟悉distributed queues吗?因为对我来说,这就是你要问的。
-
好吧,我不需要与其他经纪人沟通。我只需要一个代理,但可以有一个队列来订阅 1 个或多个队列,因此我可以只使用 1 个队列获取特定用户的所有消息。感谢您的回复@eis :)
-
鉴于队列不订阅其他队列,并且您的问题包含订阅队列的消费者的代码,因此不清楚您要问什么。请澄清您的意思。
-
@TimBish 我想要的是从包含来自队列 Q1 和 Q2 的消息的队列(我们称之为 Q3)中消费。如果队列无法做到这一点,是否可以使用主题?
标签: java activemq message-queue messaging