From f92065693c1018dfe807cf28cbfa4d11680708aa Mon Sep 17 00:00:00 2001 From: Nikita Mazurenko Date: Mon, 10 Aug 2026 17:40:33 +0300 Subject: [PATCH] Create the gRPC worker event loop group eagerly as a final field --- .../java/org/thingsboard/edge/rpc/EdgeGrpcClient.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java b/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java index e78ca440a6..141cca2250 100644 --- a/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java +++ b/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java @@ -93,7 +93,7 @@ public class EdgeGrpcClient implements EdgeRpcClient { private ManagedChannel channel; - private EventLoopGroup workerGroup; + private final EventLoopGroup workerGroup = createWorkerGroup(); private StreamObserver inputStream; @@ -109,9 +109,6 @@ public class EdgeGrpcClient implements EdgeRpcClient { Consumer onDownlink, Consumer onError) { connected = false; - if (workerGroup == null) { - workerGroup = createWorkerGroup(); - } NettyChannelBuilder builder = NettyChannelBuilder.forAddress(rpcHost, rpcPort) .eventLoopGroup(workerGroup) .channelType(channelType()) @@ -176,9 +173,7 @@ public class EdgeGrpcClient implements EdgeRpcClient { @PreDestroy public void destroy() { - if (workerGroup != null) { - workerGroup.shutdownGracefully(); - } + workerGroup.shutdownGracefully(); } private StreamObserver initOutputStream(String edgeKey,