2014-10-10 247 views
0

我正在使用org.springframework.amqp.rabbit.connection.CachingConnectionFactory连接到RabbitMQ。 但我的应用程序不会自动重新连接到断开连接后的兔子服务器(因为网络问题)与spring重新连接amqp

是否有任何配置,使CachingConnectionFactory自动重新连接?

回答

2

考虑在该对象上使用setRequestedHeartBeat()requested-heartbeat)。

按照RabbitMQ Manual

在一些类型的网络故障的,分组丢失可能意味着破坏TCP连接需要一定的时间由操作系统来检测。 AMQP提供心跳功能以确保应用层及时发现中断的连接(以及完全无响应的对等体)。心跳还可以防御可能终止“空闲”TCP连接的某些网络设备。在RabbitMQ版本3.0及更高版本中,代理将默认尝试协商心跳(尽管客户仍然可以否决它们)。使用较早版本的客户端必须配置为请求检测信号。

4

对于处理故障和重新连接,您可能只需检查Lyra(而不是spring-amqp)。