From e4853b180193f8e5a5c1151917a74745b5dd4427 Mon Sep 17 00:00:00 2001 From: Suraj Dhamecha <48670070+suraj-qlogic@users.noreply.github.com> Date: Tue, 8 Sep 2020 22:10:52 +0530 Subject: [PATCH] fix: make TransportChannel autocloseable (#212) * fix: make TransportChannel autocloseable * fix: review changes --- .../cloud/logging/spi/v2/GrpcLoggingRpc.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java index d23eb9e9a..81bacb178 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java @@ -100,16 +100,19 @@ public GrpcLoggingRpc(final LoggingOptions options) throws IOException { .usePlaintext() .executor(executor) .build(); - TransportChannel transportChannel = GrpcTransportChannel.create(managedChannel); - clientContext = - ClientContext.newBuilder() - .setCredentials(null) - .setExecutor(executor) - .setTransportChannel(transportChannel) - .setDefaultCallContext(GrpcCallContext.of(managedChannel, CallOptions.DEFAULT)) - .setBackgroundResources( - Collections.singletonList(transportChannel)) - .build(); + try (TransportChannel transportChannel = GrpcTransportChannel.create(managedChannel)) { + clientContext = + ClientContext.newBuilder() + .setCredentials(null) + .setExecutor(executor) + .setTransportChannel(transportChannel) + .setDefaultCallContext(GrpcCallContext.of(managedChannel, CallOptions.DEFAULT)) + .setBackgroundResources( + Collections.singletonList(transportChannel)) + .build(); + } catch (Exception ex) { + throw new IOException(ex); + } } else { LoggingSettingsBuilder settingsBuilder = new LoggingSettingsBuilder(LoggingSettings.newBuilder().build());