Code: Select all
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
Hinweis: close() muss für das SecretManagerServiceClient-Objekt aufgerufen werden, um Ressourcen zu bereinigen wie zum Beispiel Threads. Im obigen Beispiel wird try-with-resources verwendet, das automatisch close() aufruft.
Das macht Sinn, würde aber jede Instanz von erfordern Jeder Dienst erstellt und zerstört einen Client für jede Anforderung eines Geheimnisses. Wir haben viele Geheimnisse, daher ist es sinnvoll, nur einen Client zu erstellen und die Abhängigkeitsinjektion zu verwenden, um ihn bei Bedarf zu verwenden. Gibt es hier eine bessere Lösung, oder muss ich einfach tun, was in den Dokumenten steht, und mir keine Gedanken über die Leistung/Netzwerkkosten für die Erstellung/Zerstörung unzähliger GRPC-Clients machen?
Ich habe mir diese angesehen Antworten, die besagen, dass der Client geschlossen/heruntergefahren werden soll, wenn Sie mit der Verwendung fertig sind. Im Großen und Ganzen dasselbe wie die Javadocs.
Channel ManagedChannelImpl wurde nicht ordnungsgemäß heruntergefahren