InOut パターンのメッセージを JMS キューに送信し、replyTo を事前定義されたキューに設定します。すべてが正常に機能することもあれば、camel がそのキューからの応答を読み取らず、TimedOutException で失敗することもあります。(AMQ Web コンソールを使用して) 応答キューに 2 つ以上のコンシューマーが表示されることがありますが、camel はそれを消費しません。
(AMQ Web コンソールを使用して) 応答キューに 1 つのコンシューマーが表示されると、すべて正常に動作
し、(AMQ Web コンソールを使用して) 応答キューに多数のコンシューマーが表示されると、camel はそのキューから応答を読み取らず、TimedOutException で失敗します。
環境 : Fuse ESB
Java コード
from("activemq:spirit.adapter.producer.shippingorder.commands")
.id("router-Shipping-Order-Commands")
.log(LoggingLevel.INFO, "Transport1", "router-Shipping-Order-Commands request: ${body}")
.to("activemq:transport.consumer.shippingorder.commands?replyTo=transport.producer.shippingorder.event&replyToType=Exclusive&requestTimeout=120000")
.log(LoggingLevel.INFO, "Transport1", "router response: ${body}");
アクティブ mq 構成
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://10.10.40.94:61616"/>
</bean>
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
init-method="start" destroy-method="stop">
<property name="maxConnections" value="1" />
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory" />
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig" />
</bean>
この構成は camel-context.xml ファイルに記述されており、同じファイルには別のルートに使用される別の activemq 構成があります。
アドバイスいただけますか?