GRPC ConnectivityState无法正常工作吗?

时间:2020-10-04 12:25:05

标签: java state grpc channel connectivity

FormatterNotRegisteredException: ExternalApi.Model.Transformed is not registered in resolver: MessagePack.Resolvers.StandardResolver

以上代码是GRPC客户端。它与grpc服务器建立连接。但是每次通道状态为空闲时?何时处于CONNECTING和READY状态?怎么了?

1 个答案:

答案 0 :(得分:0)

需要等待另一个状态。 以下代码在服务器未启动时打印 connection state: TRANSIENT_FAILURE,在服务器正常时打印 connection state: READY。 gRPC 版本:1.24.0

ManagedChannel managedChannel = ManagedChannelBuilder
    .forAddress("localhost", 9090)
    .usePlaintext().build();
 
ConnectivityState state = channel.getState(true);
while (state == ConnectivityState.IDLE || state == ConnectivityState.CONNECTING) {
    state = channel.getState(true);
}

System.out.println("connection state: " + state.toString());