虚拟主题中的消息未被消费者队列消耗

时间:2017-09-27 07:26:36

标签: spring jms activemq virtual consumer

我正在尝试使用activemq中的队列来从虚拟主题中取消消息。我尝试发送一些消息,它出现在“消息排队”下的主题中,但它无法被消费。

我创建的虚拟主题名称是VirtualTopic.AA,消费者称为Consumer.client1.VirtualTopic.AA。

在consumer.client1.VirtualTopic.AA中,我可以看到有一个消费者,但它无法从虚拟主题中取消消息。

有谁知道为什么会这样?我是否需要更改xml文件中配置中的某些设置?

1 个答案:

答案 0 :(得分:0)

当您使用Spring的JmsTemplate发布到虚拟主题时,您需要通过将pubSubDomain属性设置为" true"来为主题配置它。

来自JmsTemplate documentation

  

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

JmsDestinationAccessor#setPubSubDomain

  

pubSubDomain - " true"对于发布/订阅域(主题)," false"对于点对点域(队列)