簡體   English   中英

如何使用 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>

由於這個解釋,我已將 pubSubDomain 設置為 true。

我還更改了配置文件 activemq.xml 如下所述:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM