Browse Source

更新websocker重连,解决对象不可复用的报错

luoguangyi 3 years ago
parent
commit
5d12417e85

+ 6 - 8
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/WebSocketCheckThread.java

@@ -40,10 +40,9 @@ public class WebSocketCheckThread extends Thread {
 				}
 				if (!outCallWebSocketClientHolder.isOpen()) {
 					log.error("IOT连接已经断开,正在重新连接,当前状态为[{}]", outCallWebSocketClientHolder.getReadyState());
-					if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.NOT_YET_CONNECTED)) {
-						outCallWebSocketClientHolder.connect();
-					} else if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSING)
-							|| outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSED)) {
+					if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSING)
+							|| outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSED)
+							|| outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.NOT_YET_CONNECTED)) {
 						outCallWebSocketClientHolder.reconnect();
 					}
 				}
@@ -76,10 +75,9 @@ public class WebSocketCheckThread extends Thread {
 				}
 				if (!outCallWebSocketClientHolder.isOpen()) {
 					log.error("Alarm连接已经断开,正在重新连接,当前状态为[{}]", outCallWebSocketClientHolder.getReadyState());
-					if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.NOT_YET_CONNECTED)) {
-						outCallWebSocketClientHolder.connect();
-					} else if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSING)
-							|| outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSED)) {
+					if (outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSING)
+							|| outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.CLOSED)
+							||outCallWebSocketClientHolder.getReadyState().equals(WebSocket.READYSTATE.NOT_YET_CONNECTED)) {
 						outCallWebSocketClientHolder.reconnect();
 					}
 				}