当GRPC连接状态改变时?

时间:2020-08-31 11:46:21

标签: java connection grpc connectivity grpc-java

    ManagedChannel managedChannel = ManagedChannelBuilder.forAddress("localhost",9090).usePlaintext().build();

// Whats ConnectivityState1 here ?

    Grpc.Stub stub = Grpc.newStub(managedChannel);

// Whats ConnectivityState2 here ?

    stub.method();

// Whats ConnectivityState3 here ?
  1. 在这些阶段 CONNECTING,READY,TRANSIENT_FAILURE,IDLE,SHUTDOWN 中,ConnectivityState 1-2-3会发生什么?

  2. managedChannel.getState(true)managedChannel.getState(false)之间有什么区别?

谢谢。

1 个答案:

答案 0 :(得分:0)

  1. ConnectivityState是基础传输连接的状态,而不是您在代码中检查它的位置。

  2. documentation所述,“如果当前处于空闲状态,它将尝试建立连接”,即没有活动或未决的RPC。