回答
如果你看一下Erlang的客戶端文檔http://www.rabbitmq.com/erlang-client-user-guide.html,你會看到一個標題爲連接部分給經紀人
這給你設置到的RabbitMQ服務器的連接時,你可以指定一些不同的選擇,其中一個選項是heartbeat
,因爲您可以看到缺省值爲0
因此沒有指定心跳。
我不知道確切的二郎符號,但你需要做的是這樣:
{ok, Connection} = amqp_connection:start(#amqp_params_network{heartbeat = 5})
心跳超時以秒爲單位。所以這會導致你的用戶每5秒鐘重新回到服務器。
也看看這個討論:https://groups.google.com/forum/?fromgroups=#!topic/rabbitmq-discuss/u227xzvqOr8
的RabbitMQ的連接工廠默認的連接超時是600秒(至少在Java客戶端API),因此您10分鐘。您可以通過向連接工廠指定選擇的超時時間來更改此設置。
確保您的連接在特定時間後釋放並重新創建,以防止最終泄漏和過量的資源是一種很好的做法。你的代碼應該確保它尋找一個不會被超時的有效連接,並且在那些超時的連接上重新建立一個新的連接。總體而言,採用連接池方法。
- Java示例:
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(this.serverName);
factory.setPort(this.serverPort);
factory.setUsername(this.userName);
factory.setPassword(this.userPassword);
factory.setConnectionTimeout(YOUR-TIMEOUT-IN-SECONDS);
Connection = factory.newConnection();
錯誤。有兩個超時 - 一個存儲服務器端,一個只傳遞給'Socket.new'。後者默認爲0 == infinite,由'factory.setConnectionTimeout'控制。 – djechlin 2013-11-21 18:38:00
- 1. paramiko sftp服務器連接丟失
- 2. 丟失連接到MySQL服務器:113
- 3. nodejs mysql錯誤:連接丟失服務器關閉了連接
- 4. Heroku和NodeJs - MySql連接丟失:服務器關閉連接
- 5. 連接丟失後自動重新連接到MySql
- 6. 連接丟失後自動重新連接JPA EntityManager
- 7. 從MongooseIM連接到RabbitMQ服務器
- 8. Rabbitmq服務器連接突然關閉
- 9. 允許RabbitMQ服務器連接
- 10. NowJS在丟失連接後手動啓動新連接
- 11. 啓動RabbitMQ服務器失敗
- 12. SQL服務器是否自動回滾連接丟失的變化?
- 13. gRPC在服務器重啓時丟失連接
- 14. 在查詢過程中丟失與MySQL服務器的連接
- 15. 在Windows上檢測服務器端的RPC連接丟失
- 16. 在Amazon Ec2服務器上丟失數據庫連接
- 17. Pymysql在查詢期間丟失與MySQL服務器的連接
- 18. 無法自動進入服務器。連接服務器機器「abc」失敗
- 19. 連接丟失時自動關閉PuTTY
- 20. 數據發送時連接丟失。服務器在握手後收到RST,ACK
- 21. NSURLErrorDomain代碼= -997「丟失連接到後臺傳輸服務」
- 22. sql服務器重新啓動後SQL服務器連接失敗
- 23. RabbitMQ客戶端無法連接到遠程RabbitMQ服務器
- 24. iOS 4.3 - 嘗試連接Web服務時網絡連接丟失?
- 25. 自動連接到SFTP服務器(FileZilla)
- 26. 服務器丟棄本地連接
- 27. 如何在netty中斷開連接後自動連接到TCP服務器
- 28. 處理Paramiko SSHException - 服務器連接丟失
- 29. Uppaal錯誤:java.io.IOException:服務器連接丟失
- 30. 高速公路服務器連接丟失問題
你嘗試過創建連接時設置心跳值? – kzhen 2013-03-01 10:43:23
@kzhen:你如何設置心跳值? – Hyeongsik 2013-03-02 04:11:57
你正在使用哪個客戶端? – kzhen 2013-03-02 08:48:35