首页 文章

Spring Data Cassandra如何设置有限数量的连接重试?

提问于
浏览
2

我目前正在实现一个spring boot微服务,它将数据持久保存到单个Cassandra数据库节点 . 我需要能够设置与数据库的连接丢失时的重试次数以及微服务配置文件中重试之间的毫秒数 . 我正在使用"spring-boot version 1.5.6"和spring-data-cassandra版本1.5.6“ . 我能够通过创建 CassandraCqlClusterFactoryBean 类型的集群并在 cluster.setReconnectionPolicy() 方法中传递自定义重新连接策略来设置重试之间的毫秒数 . 但我无法使用自定义重试策略设置重试次数 . 如果理解正确,则重试策略仅处理进行查询的情况,但在我的情况下,无论是否进行查询,我都需要设置重试次数经过几天的研究,我能够产生一个丑陋的黑客,基本上使用自定义 ReconnectionSchedule 并在 nextDelayMs() 方法满足某些条件后停止 spring 启动应用程序 . 不过我继续查看源代码调试模式,我看到 ControlConnection 抛出 NoHostAvailableException 异常 . 所以我检查了关于Control connection的datastax官方文档,我找到了

即将推出......

那么有人可以告诉我如何正确实现一种方法来阻止我的cassandra驱动程序尝试在预定义的重试次数后重新连接到节点 .

提前致谢 .

1 回答

  • 1

    看看here在9.3.1 .

    也许你可以做一些事情,比如尝试每隔x秒打开一个会话,直到超时到期或会话成功创建 .

相关问题