消息在虚拟主题不是由消费者队列

问题描述:

我试图用一个队列中的ActiveMQ从虚拟话题邮件出列消耗。我试着将一些消息和它显示了主题下的“消息入队”,但它是不能够被消耗掉。消息在虚拟主题不是由消费者队列

我创建

虚拟主题名称是VirtualTopic.AA和消费者称为Consumer.client1.VirtualTopic.AA。

在consumer.client1.VirtualTopic.AA,我可以看到,有一个消费者,但它是不能够从虚拟话题出队的消息。

任何人都知道为什么发生这种情况?我是否需要更改xml文件中配置中的某些设置?

当您发布使用Spring的JmsTemplate的一个虚拟的话题,你需要通过设置pubSubDomain属性设置为“真”来配置它的一个话题。

JmsTemplate documentation

如果要使用动态目的地创建,你必须指定JMS目标的类型来创建,使用“pubSubDomain”属性。对于其他操作,这不是必需的。点对点(队列)是默认域。

而且在JmsDestinationAccessor#setPubSubDomain

pubSubDomain - “真” 的发布/订阅域(主题), “假” 为点,以点域(队列)