2017-04-07 20 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のステータス障害の原因とは無関係に、障害情報を含む。したがって、接続が確立できなかった場合、ステータスはどのような方法で失敗したのかを記述する必要があります。 –

関連する問題