2017-10-26 8 views
2

私は現在、単一のCassandraデータベースノードにデータを保存しているスプリングブートマイクロサービスを実装しています。私は、データベースへの接続が失われた場合の再試行回数と、マイクロサービス設定ファイルの再試行間のミリ秒数を設定できる必要があります。私は "spring-boot version 1.5.6"とspring-data-cassandra version 1.5.6 "を使用しています。タイプCassandraCqlClusterFactoryBeanのクラスタを作成し、cluster.setReconnectionPolicy()にカスタム再接続ポリシーを渡すことで再試行間のミリ秒数を設定できましたしかし、私はカスタムリトライポリシーでリトライ回数を設定することはできません。正しく理解されている場合は、リトライポリシーはクエリが行われた場合のみ処理しますが、私の場合はすべてのリトライ回数を設定する必要があります何日かの調査の後、基本的にカスタムReconnectionScheduleを使用する醜いハックを作成し、nextDelayMs()メソッドで特定の条件が満たされた後にスプリングブートアプリケーションを停止します。デバッグモードでソースコードを調べ続けたところ、NoHostAvailableException例外がControlConnectionによってスローされたことがわかりました。そこで、データストアの担当者を確認しましたIAL Control connectionに関するドキュメント、および私は近日Spring Data Cassandra有限数の接続リトライを設定する方法は?

を見つけた...

だから誰かが正常に事前に定義された後のノードに再接続しようとしているの私のカサンドラドライバを停止する方法を実装する方法を私に示してください可能性リトライ回数。

ありがとうございます。

答えて

1

ルックはhereで9.3.1です。

おそらく、タイムアウトが切れるまで、またはセッションが正常に作成されるまで、セッションをx秒ごとに開こうとするようなことができます。

関連する問題