首页 文章

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

提问于
浏览
1

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

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

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

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

1 回答

  • 0

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

    来自JmsTemplate documentation

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

    并在JmsDestinationAccessor#setPubSubDomain

    pubSubDomain - 发布/订阅域(主题)为“true”,点对点域为“false”(队列)

相关问题