Browse Source

Improve GRPC session error handling.

pull/1587/head
Igor Kulikov 8 years ago
parent
commit
bc7db03351
  1. 19
      application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java
  2. 4
      pom.xml

19
application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java

@ -95,15 +95,24 @@ public final class GrpcSession implements Closeable {
}
public void sendMsg(ClusterAPIProtos.ClusterMessage msg) {
outputStream.onNext(msg);
}
public void onError(Throwable t) {
outputStream.onError(t);
if (connected) {
try {
outputStream.onNext(msg);
} catch (Throwable t) {
try {
outputStream.onError(t);
} catch (Throwable t2) {
}
listener.onError(GrpcSession.this, t);
}
} else {
log.warn("[{}] Failed to send message due to closed session!", sessionId);
}
}
@Override
public void close() {
connected = false;
try {
outputStream.onCompleted();
} catch (IllegalStateException e) {

4
pom.xml

@ -61,10 +61,10 @@
<mail.version>1.4.3</mail.version>
<curator.version>4.2.0</curator.version>
<protobuf.version>3.6.1</protobuf.version>
<grpc.version>1.16.1</grpc.version>
<grpc.version>1.19.0</grpc.version>
<lombok.version>1.16.18</lombok.version>
<paho.client.version>1.1.0</paho.client.version>
<netty.version>4.1.30.Final</netty.version>
<netty.version>4.1.34.Final</netty.version>
<os-maven-plugin.version>1.5.0</os-maven-plugin.version>
<rabbitmq.version>4.8.0</rabbitmq.version>
<surfire.version>2.19.1</surfire.version>

Loading…
Cancel
Save