1

私たちのシステムでは、外部クライアントが JMS キューにメッセージを書き込みます。要件は、Spring Integration アプリケーションがこれらのキューからメッセージを取得して処理することです。これに対する私の最初の刺し傷は、次の構成を使用しています。

<int:channel id="source_channel" />

<int-jms:inbound-channel-adapter 
   id="source"
   channel="source_channel"
   destination-name="jms-queue-name"
   connection-factory="...">
   <int:poller fixed-rate="1000" />
</int-jms:inbound-channel-adapter>

<int:service-activator input-channel="source_channel" ref="sourceMessageReciever"/>

クライアントがメッセージを 'jms-queue-name' キューに入れると、サービス アクティベーター Bean がメッセージを処理することを期待していますが、これは行われません。これは正しいアプローチですか、それとも messageGateway を使用してこれを行う必要がありますか? ありがとう、

薔薇

4

4 に答える 4

0

同じ問題が発生した後、受信キューを明示的に宣言し、それを inbound-channel-adapter で使用しようとしました。

出来た!

<int:channel id="source_channel" />

<int-jms:inbound-channel-adapter 
   id="source"
   channel="source_channel"
   destination="inboundQueue"
   connection-factory="...">
   <int:poller fixed-rate="1000" />
</int-jms:inbound-channel-adapter>

<int:service-activator input-channel="source_channel" ref="sourceMessageReciever"/>

<bean id="inboundQueue" class="org.apache.activemq.command.ActiveMQQueue">
   <constructor-arg value="jms-queue-name"></constructor-arg>
</bean>
于 2015-11-09T08:48:34.107 に答える