0

activemq を使用して jms que をリッスンするように (Spring を使用して) アプリケーションを構成しましたが、すべて正常に動作します。私のactivemqサーバーは別のサーバーにインストールされており、時々オフラインになる可能性があり、接続エラーを処理したいと考えています。それは可能ですか?

これが私の春の構成です

    <amq:connectionFactory id="jmsFactory" brokerURL="tcp://xxx.xxx.xxx.xxx:61616" />
    <bean id="messageConverter" class="com.unic.thesting.main.jms.message.TheStingMessageConverter" scope="tenant"/>
    <jms:listener-container concurrency="10" connection-factory="thestingJmsFactory" destination-type="queue" message-converter="thestingMessageConverter">
        <jms:listener destination="in" ref="orderStatusConsumer" method="consume"/>
    </jms:listener-container>

    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate" scope="tenant">
        <property name="messageConverter" ref="messageConverter" />
        <property name="connectionFactory">
            <bean class="org.springframework.jms.connection.SingleConnectionFactory" scope="tenant">
                <property name="targetConnectionFactory">
                    <ref local="jmsFactory" />
                </property>
            </bean>
        </property>
    </bean>
4

1 に答える 1

1

` を使用すると登録される は、JMS プロバイダーへのDefaultMessageListenerContainer接続が何らかの理由でドロップされた場合 (デフォルトでは、接続が復元されるまで 5 秒ごとに再試行します) の回復を処理するため、リスナー側で何もする必要はありません。 .

jmsTemplate を使用した送信側でorg.springframework.jms.JmsExceptionは、メッセージの送信に問題がある場合にランタイムを受け取ります。カスタム処理のためにそれをキャッチできるはずです

于 2012-07-05T16:03:11.013 に答える