简体   繁体   English

我如何知道 GRPC 连接是否已丢失?

[英]How do I know if the GRPC connection has been lost?

I have implemented GRPC Client with Java.我已经用 Java 实现了 GRPC 客户端。

String host:"192.893.12.11";
int port:9090; 

ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(host, port).usePlaintext().build();

I wanna be informed when grpc connection lost.我想在 grpc 连接丢失时收到通知。 How to notify the client if the GRPC connection has been lost?如果 GRPC 连接丢失,如何通知客户端?

You can use ManagedChannel's notifyWhenStateChanged method to get notify when channel state changed,like want get notify when server shutdown,you can try the below code:您可以使用 ManagedChannel 的notifyWhenStateChanged方法在通道状态更改时获得通知,例如想要在服务器关闭时获得通知,您可以尝试以下代码:

// create a ManagedChannel 
ManagedChannel channel = ManagedChannelBuilder.forTarget(target)
        .usePlaintext()
        .build();

// add callback method
channel.notifyWhenStateChanged(ConnectivityState.SHUTDOWN, () -> System.out.println("server shutdown"));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM