1

JMS で実行される基本的な Spring Integration 構成を取得しようとしています。

問題は、(ログによると) 接続しているように見えることですが、トピックに関するメッセージを受信して​​いません。

これは私の構成です:

<!-- Channels -->
<jms:channel id="inputChannel" queue-name="test.queue" connection-factory="connectionFactory"/>

<!-- Consumers -->    
<jms:inbound-channel-adapter id="jmsIn" destination="requestQueue" channel="inputChannel" extract-payload="true" connection-factory="connectionFactory">
    <integration:poller time-unit="SECONDS" fixed-rate="5"/>
</jms:inbound-channel-adapter>

<integration:service-activator id="testActivator" input-channel="inputChannel" ref="testServiceActivator" auto-startup="true" method="handle">
</integration:service-activator>

<!-- Bean definitions -->
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory">
        <bean class="org.apache.activemq.ActiveMQConnectionFactory">
            <property name="brokerURL" value="tcp://127.0.0.1:61616"/>             
        </bean>
    </property>
    <property name="sessionCacheSize" value="10"/>
    <property name="cacheProducers" value="false"/>
</bean>

<bean id="requestQueue" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg name="name" value="test.topic"/>
</bean>

<bean id="testServiceActivator" class="com.paddypower.financials.integration.PriceDistributionServiceActivator"/>

ルート ロガーで DEBUG レベルを有効にしましたjmsInが、正常に開始され、ActiveMQ サーバーに接続されていると表示されますが、service-activatorまたはinbound-channel-adapter.

また、プロデューサーが ActiveMQ Web インターフェイスを介してメッセージを送信していることもわかります。

誰でも構成に問題があることを確認したり、さらにデバッグする方法を知ったりできますか?

ありがとう、

4

1 に答える 1

2

requestQueue の Bean 定義を からActiveMQQueueに変更すると、修正されるActiveMQTopicはずです。

<bean id="requestQueue" class="org.apache.activemq.command.ActiveMQTopic">
    <constructor-arg name="name" value="test.topic"/>
</bean>
于 2012-06-11T13:10:41.510 に答える