2010-12-14 14 views
2

私はラクダからリモートブローカにメッセージをリクエスト/返信しようとしていますが、タイムアウトしています。以下の設定を参照してください。Camel JMSリクエスト/応答タイムアウト

<bean id="providerJMSConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> 
    <property name="alwaysSessionAsync" value="false"/> 
    <property name="alwaysSyncSend" value="true"/> 
    <property name="brokerURL"><value>${remote-broker-broker-url}</value></property> 
    <property name="clientID" value=""/> 
    <property name="closeTimeout" value="15000"/> 
    <property name="copyMessageOnSend" value="true"/> 
    <property name="disableTimeStampsByDefault" value="false"/> 
    <property name="dispatchAsync" value="false"/> 
    <property name="objectMessageSerializationDefered" value="false"/> 
    <property name="optimizeAcknowledge" value="false"/> 
    <property name="optimizedMessageDispatch" value="true"/> 
    <property name="password" value=""/> 
    <property name="producerWindowSize" value="0"/> 
    <property name="statsEnabled" value="false"/> 
    <property name="useAsyncSend" value="false"/> 
    <property name="useCompression" value="false"/> 
    <property name="useRetroactiveConsumer" value="false"/> 
    <property name="userName" value=""/> 
    <property name="watchTopicAdvisories" value="true"/> 
    <property name="sendTimeout" value="0"/> 
</bean> 

<bean id="providerJMSConfig" class="org.apache.camel.component.jms.JmsConfiguration"> 
    <property name="connectionFactory" ref="aeroProviderJMSConnectionFactory"/> 
    <property name="deliveryPersistent" value="true"/> 
    <property name="explicitQosEnabled" value="true"/> 
    <property name="priority" value="${jms-message-priority}"/> 
    <property name="acceptMessagesWhileStopping" value="false"/> 
</bean> 
<bean id="providerJMS" class="org.apache.camel.component.jms.JmsComponent"> 
    <property name="configuration" ref="aeroProviderJMSConfig"/> 
</bean> 

    <osgi:camelContext xmlns="http://camel.apache.org/schema/spring" trace="true"> 
    <endpoint id="providerEndpoint" uri="providerJMS:queue:provider?replyTo=providerResponse&requestTimeout=120000"/> 
<route> 
<from .....> 
<to ref="providerEndpoint"/> 
.... 
</route> 
<osgi:camelContext> 

これはなぜ起こるのでしょうか?リモートブローカーには、消費者の数を指定していないにもかかわらず、消費者の数が常に1以上であることが分かりました。また、replyToの宛先を削除したときにも、その名前はリモートブローカに引き続き上がっています。

Pls、私はキューからメッセージを選んでいる人を見ることができるように私はactivemqをデバッグするために使用できるツールはありますか?

答えて

2

CamelでJMS経由で要求/応答を行う場合、デフォルトのタイムアウトは20秒です。あなたがヒットしたタイムアウトですか?

あなたはそれを変更することができ、そののrequestTimeoutオプション http://camel.apache.org/jms

関連する問題