问题描述
我已经用Java实现了GRPC客户端。
String host:"192.893.12.11";
int port:9090;
ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(host,port).usePlaintext().build();
我想在grpc连接丢失时得到通知。如果GRPC连接已丢失,如何通知客户端?
解决方法
您可以使用ManagedChannel的notifyWhenStateChanged
方法在频道状态更改时获取通知,例如要在服务器关闭时获取通知,您可以尝试以下代码:
// create a ManagedChannel
ManagedChannel channel = ManagedChannelBuilder.forTarget(target)
.usePlaintext()
.build();
// add callback method
channel.notifyWhenStateChanged(ConnectivityState.SHUTDOWN,() -> System.out.println("server shutdown"));