Làm thế nào để bạn biết trình điều khiển Datastax Java Cassandra hết thời gian khi nó cố gắng kết nối với cụm của bạn?Thông báo cho trình điều khiển Datastax Java Cassandra về kết nối cụm thời gian chờ
Tôi đặc biệt quan tâm đến trường hợp máy chủ có thể truy cập được, nhưng các cổng Cassandra bị chặn hoặc các daemon Cassandra không hoạt động. Tôi đang viết một máy khách dòng lệnh mà nên thoát ra và báo cáo một thông báo lỗi phù hợp nếu nó không thể kết nối trong một thời gian hợp lý. Hiện nay có vẻ như người lái xe sẽ chờ đợi mãi mãi cho một điểm tiếp xúc để phản ứng, nếu điểm tiếp xúc có thể truy cập.
Tức là, tôi muốn để ném NoHostAvailableException
nếu trình điều khiển không thể giao tiếp với trình nền Cassandra của bất kỳ điểm tiếp xúc nào trong một thời gian tối đa nhất định.
- Tạo riêng tôi
RetryPolicy
sẽ không hoạt động: đó là cho các truy vấn thử lại, và tôi muốn thời gian chờ để áp dụng trước chúng tôi đã sẵn sàng để chạy các truy vấn. - Tạo của riêng tôi
ReconnectinoPolicy
ban đầu trông đầy hứa hẹn, nhưng hợp đồng cho giao diện mang đến cho không có nghĩa là để chỉ ra "xem xét nút này để được chết mãi mãi nhiều hơn"
Có thể tôi thực sự thấy trường hợp thứ hai. Tôi phải bỏ lỡ tùy chọn ổ cắm đó. Như bạn ngụ ý, điều đó phải đủ tốt cho hầu hết các trường hợp. – Raedwald
@Raedwald, bạn đã gửi một lỗi cho vấn đề này hay đã có giải pháp dễ dàng hơn chưa? –