我正在使用org.springframework.amqp.rabbit.connection.CachingConnectionFactory
连接到 RabbitMQ。但是我的应用程序在断开连接后不会自动重新连接到兔子服务器(因为网络问题)
是否有任何配置可以进行CachingConnectionFactory
自动重新连接?
我正在使用org.springframework.amqp.rabbit.connection.CachingConnectionFactory
连接到 RabbitMQ。但是我的应用程序在断开连接后不会自动重新连接到兔子服务器(因为网络问题)
是否有任何配置可以进行CachingConnectionFactory
自动重新连接?
要处理故障和重新连接,您可能只需查看Lyra(而不是 spring-amqp)。
考虑在该对象上使用setRequestedHeartBeat()
( )。requested-heartbeat
根据RabbitMQ 手册:
在某些类型的网络故障中,数据包丢失可能意味着中断的 TCP 连接需要一些时间才能被操作系统检测到。AMQP 提供了心跳功能,以确保应用程序层及时发现中断的连接(以及完全无响应的对等方)。心跳还可以防御某些可能终止“空闲”TCP 连接的网络设备。在 RabbitMQ 3.0 及更高版本中,代理将默认尝试协商心跳(尽管客户端仍然可以否决它们)。使用早期版本,客户端必须配置为请求心跳。