问题描述
您能否帮助解决这个问题,我在一个 Spring 批处理服务中使用了多个数据源,该服务每天早上 7:00 运行,我使用的是 Spring-starter-data-jpa,以及已知的事实上,其中一个数据库将在每天午夜关闭以进行清理,当时我的服务试图每 10 秒获取一次连接,但在数据库恢复之前无法连接。
有没有办法改变时间,或者我可以为每个数据库使用 EntityManager 并仅在我想查询时创建连接?我有类似这样的工作解决方案 here
解决方法
您可以通过配置连接池来调整该行为。 它们通常具有以下设置:
- 要保持打开多少个连接。
- 何时以及如何检查连接是否正常。
通过修改这些设置,您可以控制连接池尝试建立连接的频率。
当然可能不是连接池,而是其他一些试图访问数据库的服务。 健康检查可能是一个可能的候选者。 如果是这种情况,您需要检查其配置选项。