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



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

即将推出…

因此,请有人向我展示如何正确实现一种方法,停止我的cassandra驱动程序在预定义的重试次数后尝试重新连接到节点。

提前谢谢。

请参见9.3.1。

也许你可以尝试每x秒打开一个会话,直到超时或成功创建会话。

相关内容

  • 没有找到相关文章

最新更新