2014-10-10 91 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)。