在某些情況下,管理員可能不希望在停止訊息代理伺服器時立即斷開所有客戶端的連線。在這種情況下,可以將訊息代理伺服器配置為使用 graceful-shutdown-enabled 布林配置參數來優雅地關閉。

graceful-shutdown-enabled 配置參數為 true 時,並且訊息代理伺服器正在關閉時,它會先阻止任何其他客戶端連接,然後等待所有現有的連接被客戶端終止,然後再完成關閉程序。預設值為 false

當然,有可能某個客戶端會無限期地保持與訊息代理伺服器的連線,從而有效地阻止訊息代理伺服器優雅地關閉。為了處理這種情況,可以使用 graceful-shutdown-timeout 配置參數。這個參數會告訴訊息代理伺服器(以毫秒為單位)在強制斷開客戶端連線並繼續關閉程序之前,需要等待所有客戶端斷開連線的時間長度。預設值為 -1,這表示訊息代理伺服器將無限期地等待客戶端斷開連線。