From 85c754865efa2e5771935078bb45f9e58be78e3a Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Sat, 2 Jan 2021 23:21:45 +0200 Subject: [PATCH] Close session on error --- .../server/service/edge/rpc/EdgeGrpcSession.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java index 4b34b0c4a2..9fcab00db4 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java @@ -180,13 +180,20 @@ public final class EdgeGrpcSession implements Closeable { @Override public void onError(Throwable t) { log.error("Failed to deliver message from client!", t); + closeSession(); } @Override public void onCompleted() { + closeSession(); + } + + private void closeSession() { connected = false; if (edge != null) { - sessionCloseListener.accept(edge.getId()); + try { + sessionCloseListener.accept(edge.getId()); + } catch (Exception ignored) {} } try { outputStream.onCompleted();