打開http://rmq.example.com:15672/#/connections顯示打開的連接及其屬性。一個屬性被稱爲「超時」。對於使用RabbitMQ Java客戶端進行的連接,此值設置爲600.對於使用node-amqp
庫進行的連接,它是空白的。RabbitMQ中的服務器端超時是什麼?
我無法弄清楚如何改變它,甚至必須改變它。在Java庫中,有一個ConnectionFactory
與方法setTimeout
,但它設置超時以毫秒傳遞到Socket.connect
,即它是一個客戶端超時,它不會服務器(實際上它不符合600s顯示在RMQ的頁面上)。我也嘗試添加timeout
,connectionTimeout
和connection_timeout
作爲客戶端屬性,但這些不影響timeout
。事實上,它們分別顯示在客戶端屬性(通過REST API選中):
"client_properties":{"connectiontimeout":"40000",
"connectionTimeout":"30000",
"connection_timeout", ... }
我不知道是不是數字「600系列」是從客戶端發送或者是服務器默認,甚至是什麼確實。我正在通過Java庫和node-amqp
的源代碼尋找一些證據,但想問問任何人是否有更高層次的知識。