Как предотвратить ошибку ManagedChannelImpl без использования try-with-resources?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как предотвратить ошибку ManagedChannelImpl без использования try-with-resources?

Сообщение Anonymous »

Эта ошибка возникает при использовании Google SecretManagerServiceClient.

Код: Выделить всё

i.g.i.ManagedChannelOrphanWrapper *~*~*~ Channel ManagedChannelImpl{logId=1, target=secretmanager.googleapis.com:443} was not shutdown properly!!! ~*~*~*
Make sure to call shutdown()/shutdownNow() and wait until awaitTermination() returns true.
java.lang.RuntimeException: ManagedChannel allocation site
В документации Java говорится:

Примечание: метод close() необходимо вызывать для объекта SecretManagerServiceClient для очистки ресурсов. такие как нити. В приведенном выше примере используется метод try-with-resources, который автоматически вызывает функцию close().

Это имеет смысл, но для этого потребуется каждый экземпляр каждая служба создает и уничтожает клиента для каждого запроса секрета. У нас много секретов, поэтому имеет смысл создать только один клиент и использовать внедрение зависимостей, чтобы использовать его всякий раз, когда это необходимо. Есть ли здесь лучшее решение, или мне нужно просто делать то, что говорят документы, и не беспокоиться о расходах производительности/сети при создании/уничтожении бесчисленного количества клиентов GRPC?
Я рассмотрел это ответы, в которых говорится о закрытии/выключении клиента, когда вы закончите его использовать. В основном то же самое, что и javadocs.
Channel ManagedChannelImpl не был закрыт должным образом

Подробнее здесь: https://stackoverflow.com/questions/762 ... -resources
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»