0

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=tra‌nsport.prod‌ucer.shippingorder.event&replyToType=Exclusive&requestTimeout=120000")‌​
.log(Logg‌​ingLevel.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 構成があります。

アドバイスいただけますか?

4

2 に答える 2

0

こんにちは
すべて-この問題は、Fuse ESB 7.0.1で出荷され、FuseESB7.1.0で解決されたcamel-jms2.9.xのいくつかのバグが原因で発生しました。

于 2013-02-24T23:13:52.390 に答える
0

使用しているactivemq構成を投稿できますか? たとえば、プールで init メソッドと destroy メソッドを構成して、ここに記載されているように適切に開始または停止できるようにしてください: http://camel.apache.org/activemq

于 2013-01-27T07:09:44.350 に答える