【问题标题】:Handle activemq-spring connection errors处理activemq-spring连接错误
【发布时间】:2012-07-06 00:03:11
【问题描述】:

我已将我的应用程序(使用 spring)配置为使用 activemq 监听 jms que,并且一切正常。 我的 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>

【问题讨论】:

    标签: spring activemq spring-jms


    【解决方案1】:

    DefaultMessageListenerContainer 在您使用 ` 时注册处理恢复与 JMS 提供程序的连接,如果它因任何原因被丢弃(默认情况下每 5 秒重试一次,直到连接恢复),所以您不必在听众面前做任何事情。

    在使用 jmsTemplate 的发送端,如果发送消息有任何问题,您将收到运行时 org.springframework.jms.JmsException。您应该能够捕获它以进行任何自定义处理

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 2023-03-26
      • 2015-08-26
      • 2019-09-24
      • 1970-01-01
      • 2021-07-17
      • 2016-10-11
      • 2012-05-01
      • 1970-01-01
      相关资源
      最近更新 更多