我有两个虚拟主题: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”)“订阅”到先前的队列Consumer.FOO.VirtualTopic.T1
和Consumer.FOO.VirtualTopic.T2
?
这样,我可以创建仅指向“ FOOQueue”的使用者并获取所有消息(将来,我可以从“ FOOQueue”订阅其他队列,也可以从其他队列获取消息)。
答案 0 :(得分:0)
您要的声音类似于ActiveMQ代理配置中定义的Composite Destinations。您将定义一个复合目标,其中包含从其他一些队列转发的消息。当然,如果您以后需要添加更多转发,这当然需要重新配置代理。