如何使用 ActiveMQ 使用来自虚拟主题的消息?
How to consume a message from a virtual topic with ActiveMQ?
我正在向名为 VirtualTopic.Orders 的虚拟主题发布消息(通过 spring-jms)。我毫无问题地将消息发布到 ActiveMQ,我可以在 VirtualTopic.Orders 队列中看到消息,但我无法使用它。这是我的 JmsTemplate bean 声明:
<bean id="jmsTemplateBusinessEvents" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="pubSubDomain" value="true"/>
</bean>
由于 this explanation,我已将 pubSubDomain 设置为 true。
我还更改了配置文件 activemq.xml 说明 here:
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<virtualTopic name="VirtualTopic.>" prefix="Consumer.*.VirtualTopic.>" selectorAware="false"/>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
这是我的消费者指向 Consumer.A.VirtualTopic.Orders 队列:
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer" init-method="start"
lazy-init="false">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destinationName" value="Consumer.A.VirtualTopic.Orders"/>
<property name="messageListener" ref="processStatusHandler"/>
</bean>
如果有人能帮助我,我将不胜感激。
我已经遇到了这个问题。消费者前缀值不正确必须是:
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<virtualTopic name="VirtualTopic.>" prefix="Consumer.*.>" selectorAware="false"/>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
我正在向名为 VirtualTopic.Orders 的虚拟主题发布消息(通过 spring-jms)。我毫无问题地将消息发布到 ActiveMQ,我可以在 VirtualTopic.Orders 队列中看到消息,但我无法使用它。这是我的 JmsTemplate bean 声明:
<bean id="jmsTemplateBusinessEvents" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="pubSubDomain" value="true"/>
</bean>
由于 this explanation,我已将 pubSubDomain 设置为 true。
我还更改了配置文件 activemq.xml 说明 here:
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<virtualTopic name="VirtualTopic.>" prefix="Consumer.*.VirtualTopic.>" selectorAware="false"/>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
这是我的消费者指向 Consumer.A.VirtualTopic.Orders 队列:
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer" init-method="start"
lazy-init="false">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destinationName" value="Consumer.A.VirtualTopic.Orders"/>
<property name="messageListener" ref="processStatusHandler"/>
</bean>
如果有人能帮助我,我将不胜感激。
我已经遇到了这个问题。消费者前缀值不正确必须是:
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<virtualTopic name="VirtualTopic.>" prefix="Consumer.*.>" selectorAware="false"/>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>