如何禁用transport.failover.FailoverTransport成功连接到tcp:// localhost:61616消息

时间:2016-08-25 19:20:08

标签: spring-boot apache-camel jms activemq spring-jms

在spring中使用DefaultJmsListenerContainerFactory订阅消息和使用故障转移activemq传输的camel时,我不断收到INFO消息。

2016-08-25 15:00:07,235 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:08,265 [ActiveMQ Task-1] INFO transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:08,265 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:09,296 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:09,328 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:10,299 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:10,346 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616
2016-08-25 15:00:11,318 [ActiveMQ Task-1] INFO  transport.failover.FailoverTransport Successfully connected to tcp://localhost:61616

是否可以在控制台上禁用此INFO消息,或者是否有任何时间间隔在控制台上打印此消息?

我试过使用一些ActiveMQ传输连接选项,但它没有帮助我。

3 个答案:

答案 0 :(得分:3)

首先我想到你可以使用故障转移参数,例如:http://activemq.apache.org/failover-transport-reference.html

答案 1 :(得分:0)

我们发现使用SpringBoot和ActiveMQ时默认情况下禁用连接池。我们在application.yml文件中设置以下属性以启用池:

spring.activemq.pool.enabled: true

将日志级别设置为WARN只是掩盖了问题,因为它仍然会丢弃并在后台重新建立连接。

答案 2 :(得分:0)

从ActiveMQ论坛:

  

PooledConnectionFactory的默认idleTimeout只有30   秒。物理连接以循环方式借用。   因此,如果应用程序花费30秒以上的时间来循环浏览5   连接,您将开始观察连接流失,这似乎与   您的情况如何。   后续使用之间是否有30秒的间隔   您的方案中的JmsTemplate?

所以解决方案应该是更新连接池的idleTimeout。