Spring Jms每秒都会发出警告信息



Java-Spring-JMS

我将Spring与JMS监听器一起使用,下面是我的代码片段。

report.broker.url=failover:(tcp://w-dlapp00:5061?daemon=true;tcp://w-dlapp01:5061?daemon=true)?randomize=false&timeout=3000

spring上下文中,我发现问题是它发出警告,因为队列w-dlapp00:5061已关闭,但由于它处于故障转移状态,另一个队列正在工作-我如何才能消除此警告?

<!-- Active MQ changes -->
  <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
      <value>${royality.report.broker.url}</value>
    </property>
  </bean>
  <bean id="destinationRoyaltyReport" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="${royality.report.queue}"/>
  </bean>
  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="defaultDestination" ref="destinationRoyaltyReport"/>
  </bean>
  <jms:listener-container connection-factory="connectionFactory">
    <jms:listener destination="${royality.report.markingrid.queue}" ref="royaltyReportListener" method="onReceivedRoyaltyReportGridRequest"/>
    <jms:listener destination="${royality.report.queue}" ref="royaltyReportListener" method="onReceivedRoyaltyReportViewRequest"/>
  </jms:listener-container>
  <!-- Active MQ changes -->

当我查看日志文件时,它充满了JMS信息和WARN语句,如下所示,不知道发生了什么。有一条警告消息,似乎有什么东西崩溃了?

2013-02-20 14:34:28,691 [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] WARN  [DefaultMessageListenerContainer.java:834] : id[] Setup of JMS message listener invoker failed for destination 'royaltyReportMarkInGridQueue' - trying to recover. Cause: Failover timeout of 3000 ms reached.
2013-02-20 14:34:31,763 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-1] WARN  [DefaultMessageListenerContainer.java:834] : id[] Setup of JMS message listener invoker failed for destination 'royaltyReportQueue' - trying to recover. Cause: Failover timeout of 3000 ms reached.
2013-02-20 14:34:31,767 [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] INFO  [FailoverTransport.java:507] : id[] Failover timed out after 3073ms
2013-02-20 14:34:31,768 [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] WARN  [DefaultMessageListenerContainer.java:888] : id[] Could not refresh JMS Connection for destination 'royaltyReportMarkInGridQueue' - retrying in 5000 ms. Cause: Failover timeout of 3000 ms reached.
2013-02-20 14:34:34,838 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-1] INFO  [FailoverTransport.java:507] : id[] Failover timed out after 3073ms
2013-02-20 14:34:34,838 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-1] WARN  [DefaultMessageListenerContainer.java:888] : id[] Could not refresh JMS Connection for destination 'royaltyReportQueue' - retrying in 5000 ms. Cause: Failover timeout of 3000 ms reached.
2013-02-20 14:34:39,839 [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] INFO  [FailoverTransport.java:507] : id[] Failover timed out after 3065ms
2013-02-20 14:34:39,841 [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] WARN  [DefaultMessageListenerContainer.java:888] : id[] Could not refresh JMS Connection for destination 'royaltyReportMarkInGridQueue' - retrying in 5000 ms. Cause: Failover timeout of 3000 ms reached.
2013-02-20 14:34:42,910 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-1] INFO  [FailoverTransport.java:507] : id[] Failover timed out after 3068ms
2013-02-20 14:34:42,910 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-1] WARN  [DefaultMessageListenerContainer.java:888] : id[] Could not refresh JMS Connection for destination 'royaltyReportQueue' - retrying in 5000 ms. Cause: Failover timeout of 3000 ms reached.

这只是意味着它不能连接到failover传输中的任何一个服务器。请注意,您有导致传输抛出异常的timeout=3000。容器不断重试。

ActiveMQ的日志记录由Log4J"Log4J.properties"文件控制。

您可以定义希望日志程序显示的消息级别(警告、错误等),以及打印日志的位置(控制台、日志文件等)。

在您的情况下,您可以禁用日志文件的WARN日志,并将其打印到其他位置。

我个人想看看我的消息是在哪里发送的,如果故障转移未能发送到我更希望知道的主机之一。

而不是使用;在两个经纪人之间,我使用了",",似乎正在使用

查看此处了解详细信息

最新更新