2
的Tomcat v7.0.54
大氣服務器V2.2.3(@ManagedService註解類)
- 大氣Wasync客戶端v1.4.0
我們有兩個服務器實例其中一個使用@ManagedService註釋提供端點,另一個使用Wasync lib作爲客戶端連接到它。 服務器客戶端需要連接在任何時候都是持久的,並且不同的用例使得這有點具有挑戰性。
我們的主要問題用例有:
- 連接丟棄,因爲網絡中斷或服務器已關閉。
- 客戶端服務器已啓動,但服務器端點尚未啓動。
所以我們需要一種方法在這些情況下使客戶端動態化。
IE:
- WebSocket的客戶端連接到端點。
- 服務器停機維護。
- 客戶端嘗試每xx秒重新連接一次。
- 服務器開始正常備份。
- 在下次重新連接嘗試時,客戶端已連接。
首先,我們嘗試使用內置在Wasync提供沒有骰子重新連接選項:
OptionsBuilder<DefaultOptions, DefaultOptionsBuilder> optBuilder = wsAuthClient.newOptionsBuilder()
.reconnect(true)
.pauseBeforeReconnectInSeconds(10);
監聽器:
}).on(Event.REOPENED, new Function<String>() {
@Override
public void on(String t) {
logger.info("Re-opened connection to server.");
}
基於我讀過在文檔中,當連接被@ManagedService特意關閉時,這會被觸發嗎?
有沒有人遇到過這些類型的用例並且有解決方案?
弄來爲什麼'REOPENED'事件處理程序不會被調用?並且服務器還發送了客戶端未收到的消息。 – manikanta
@manikanta對不起,我很長一段時間沒有在這個項目上工作過。我非常肯定,團隊完全轉向了不同的框架/解決方案。乾杯! – proulxs