Commit 5a87bbe73324054b567cae73a72a05956a55a1d0

Authored by Igor Kulikov
1 parent 2e945c47

Improve websocket sending errors handling.

... ... @@ -40,10 +40,7 @@ import org.thingsboard.server.service.telemetry.TelemetryWebSocketMsgEndpoint;
40 40 import org.thingsboard.server.service.telemetry.TelemetryWebSocketService;
41 41 import org.thingsboard.server.service.telemetry.TelemetryWebSocketSessionRef;
42 42
43   -import javax.websocket.RemoteEndpoint;
44   -import javax.websocket.SendHandler;
45   -import javax.websocket.SendResult;
46   -import javax.websocket.Session;
  43 +import javax.websocket.*;
47 44 import java.io.IOException;
48 45 import java.net.URI;
49 46 import java.security.InvalidParameterException;
... ... @@ -222,20 +219,31 @@ public class TbWebSocketHandler extends TextWebSocketHandler implements Telemetr
222 219 try {
223 220 this.asyncRemote.sendText(msg, this);
224 221 } catch (Exception e) {
225   - log.error("[{}] Failed to send msg", session.getId(), e);
  222 + log.trace("[{}] Failed to send msg", session.getId(), e);
  223 + try {
  224 + close(this.sessionRef, CloseStatus.SERVER_ERROR);
  225 + } catch (IOException ioe) {
  226 + log.trace("[{}] Session transport error", session.getId(), ioe);
  227 + }
226 228 }
227 229 }
228 230
229 231 @Override
230 232 public void onResult(SendResult result) {
231 233 if (!result.isOK()) {
232   - log.error("[{}] Failed to send msg", session.getId(), result.getException());
233   - }
234   - String msg = msgQueue.poll();
235   - if (msg != null) {
236   - sendMsgInternal(msg);
  234 + log.trace("[{}] Failed to send msg", session.getId(), result.getException());
  235 + try {
  236 + close(this.sessionRef, CloseStatus.SERVER_ERROR);
  237 + } catch (IOException ioe) {
  238 + log.trace("[{}] Session transport error", session.getId(), ioe);
  239 + }
237 240 } else {
238   - isSending = false;
  241 + String msg = msgQueue.poll();
  242 + if (msg != null) {
  243 + sendMsgInternal(msg);
  244 + } else {
  245 + isSending = false;
  246 + }
239 247 }
240 248 }
241 249 }
... ...