我试图在activemq中使用队列来从虚拟主题中出列消息 . 我尝试发送一些消息,它出现在“消息排队”下的主题中,但它无法被消费 .
我创建的虚拟主题名称是VirtualTopic.AA,消费者称为Consumer.client1.VirtualTopic.AA .
在consumer.client1.VirtualTopic.AA中,我可以看到有一个消费者,但它无法从虚拟主题中取消消息 .
谁知道为什么会这样?我是否需要更改xml文件中配置中的某些设置?
使用Spring的JmsTemplate发布到虚拟主题时,需要通过将 pubSubDomain 属性设置为"true"来为主题配置它 .
pubSubDomain
来自JmsTemplate documentation:
如果要使用动态目标创建,则必须使用“pubSubDomain”属性指定要创建的JMS目标的类型 . 对于其他操作,这不是必需的 . 点对点(队列)是默认域 .
并在JmsDestinationAccessor#setPubSubDomain:
pubSubDomain - 发布/订阅域(主题)为“true”,点对点域为“false”(队列)
1 回答
使用Spring的JmsTemplate发布到虚拟主题时,需要通过将
pubSubDomain
属性设置为"true"来为主题配置它 .来自JmsTemplate documentation:
并在JmsDestinationAccessor#setPubSubDomain: