对于带有Oracle数据库的spring应用程序,我必须处理以下情况:
当前已提供第一步。此时,我必须实现:
实施应以编程方式进行。在不更改当前存在的代码的情况下如何实现?有没有可行的解决方案(图书馆)?
我考虑过AbstractRoutingDataSource和ping数据库(例如每5秒一次),但是我不确定这种解决方案。
答案 0 :(得分:0)
因此,让我们总结一下问题。我无法使用Oracle RAC(真实应用程序集群)。如果应该以编程方式实现,则可以尝试AbstractRoutingDataSource方法。
我实现了一个计时器,该计时器每1秒钟对当前数据库执行一次ping操作(您可以使用验证查询并检查是否可以从数据库读取...如果不存在,我们假设没有连接,并且可以切换数据源)。
由于我能够在当前数据源脱机时在运行时更改数据源。更重要的是它是自动的。
另一方面,也有缺点: