クラスタに接続しようとすると、Datastax Java Cassandraドライバにタイムアウトする方法を教えてください。Datastax Java Cassandraドライバにクラスタ接続のタイムアウトを依頼する
私はホストが到達可能である場合に特に興味があるんだけど、カサンドラのポートがブロックされているか、カサンドラデーモンが実行されていません。私は妥当な時間に接続できない場合は、終了し、適切なエラーメッセージを報告するコマンドラインクライアントを作成しています。現在のところ、運転手は、接触ポイントが到達可能である場合、応答への接触ポイントを永遠に待つように見える。
つまり、ドライバが特定の最大時間内に任意の接点のCassandraデーモンと通信できない場合、Cluster.build()
にNoHostAvailableException
を送信します。
RetryPolicy
が動作しません私自身の作成:それは再試行クエリのためである、と私たちはクエリを実行する準備ができている前にタイムアウトを適用したいと。- )(私自身
ReconnectinoPolicy
は、最初は有望に見えたが、インタフェースのための契約がある が
私は実際に2番目のケースを見ている可能性があります。私はそのソケットオプションを忘れてしまった。あなたが示唆しているように、それはほとんどの場合十分なはずです。 – Raedwald
@ Raedwald、この問題のバグを報告しましたか、それとも簡単な解決策がありましたか? –