如何讓Datastax Java Cassandra驅動程序在嘗試連接到集羣時超時?Tell Datastax Java Cassandra驅動程序超時集羣連接
我對主機可達的情況特別感興趣,但Cassandra端口被阻塞或者Cassandra守護進程未運行。我正在編寫一個命令行客戶端,如果它在合理的時間內無法連接,應該退出並報告合適的錯誤消息。目前看來,如果接觸點可達,駕駛員將永遠等待接觸點回應。
也就是說,如果驅動程序無法在給定的最大時間內與任何接觸點的Cassandra守護進程通信,我希望Cluster.build()
拋出NoHostAvailableException
。
- 創建我自己的
RetryPolicy
將無法正常工作:即對重試查詢,我想超時申請之前,我們已經準備好運行查詢。 - 創建我自己的
ReconnectinoPolicy
最初看起來前途無量,但對於接口的合同沒有給出裝置,用於指示「考慮這個節點是死永遠地」
這是可能的,我實際上看到第二個案例。我必須錯過那個套接字選項。正如你所暗示的那樣,在大多數情況下,這應該足夠好。 – Raedwald
@Raedwald,你是否爲這個問題提出了錯誤,或者是否有更簡單的解決方案? –