2017-04-07 4 views
0

GRPC (Java API) 연결에 대한 연결 상태를 아래 복사 된 호출을 통해 가져 오려고합니다. 내가 온라인에서 찾을 수있는 노트를 바탕으로 GRPC 클라이언트가 서비스 호출 전에 연결을 설정하려면 & 첫 번째 서비스 호출에서 서버에 지연 연결하는 것처럼 보였습니다.이 옵션을 사용할 수있었습니다. 그러나이 호출은 항상 내 응용 프로그램이 서버에 연결되는 것을 방지하고 다른 호출/메커니즘에 의존해야하는지 궁금합니다.GRPC 연결 상태 가져 오기

GRPC 버전 : 1.1.2
JDK 버전 : 대부분의 ManagedChannel의 1.8

final ManagedChannelBuilder<?> channelBuilder = connection.getSecure(); //this forms a secure connection 
channel = channelBuilder.build(); 
ConnectivityState connectivityState = channel.getState(true); //referenced in question above 
asyncStub = MonetaGoConnectGrpc.newStub(channel); 
+0

"작동하지 않는다"고 말하는 대신 실제 오류 예외 또는 동작을 제공하십시오. –

+0

코멘트는 위의 질문에서 내가 가리킨 코드 스 니핏 안에있는 라인을 나타 내기 위해 존재했습니다. –

답변

1

그것은 isn't currently implemented. API는 새로운 LoadBalancer API에 도입되었지만 이제는 LoadBalancer도 사용하고 있지 않습니다.

구현 될 때까지 문서 개선을 위해 an issue을 제출했습니다.

채널의 동작에 대한 이해가 정확합니다. 느슨하게 연결되며 채널을 강제 연결할 수있는 API입니다. 불행히도 아직 구현되지 않았으며 RPC 발급 이외의 대안이 없습니다.

+0

후속 조치에 대해 감사드립니다. 첫 번째 RPC가 시작되기 전에 연결 상태를 쿼리하거나 다른 첫 번째 RPC가 작동하지 않는 이유를 파악할 수있는 이상적인 방법입니다 (문제가 RPC와 관련되었거나 연결이 설정되었는지 여부와 관계 없음) –

+0

RPC의 상태 실패의 원인과 무관하게 실패 정보를 포함합니다. 따라서 연결을 설정할 수없는 경우 Status는 어떤 방식으로 실패했는지 설명해야합니다. –