![当 DB 恢复正常时,Weblogic JDBC 连接池保持暂停状态](https://linux22.com/image/649484/%E5%BD%93%20DB%20%E6%81%A2%E5%A4%8D%E6%AD%A3%E5%B8%B8%E6%97%B6%EF%BC%8CWeblogic%20JDBC%20%E8%BF%9E%E6%8E%A5%E6%B1%A0%E4%BF%9D%E6%8C%81%E6%9A%82%E5%81%9C%E7%8A%B6%E6%80%81.png)
我们在 weblogic 12c 上有一个 JDBC 连接池。当后端数据库处于离线状态时,连接池将进入暂停状态,而当数据库在短时间(例如 5 分钟)后重新上线时,连接池将进入运行状态。这很正常,也是我期望 weblogic 会采取的行为。
但几天前,数据库崩溃了大约 30 分钟,当数据库重新上线时,池始终处于暂停状态,从未返回到运行状态。我们必须手动重新启动池。有什么设置可以调整此行为吗?我们的测试频率为 600 秒,连接创建重试频率为 0。
答案1
您实际上要等待多长时间?您的配置意味着您可以必须等待最多 10 分钟,因为测试频率设置为 600 秒(10 分钟)。连接创建重试频率与您在 DB 中断(或任何其他连接到 DB 的故障)期间重新启动 weblogic 并且在启动期间未创建数据源的情况有关。此参数告诉 weblogic 它将以何种频率重试连接创建。使用您的配置,数据源确实会永远保持关闭状态,但它不会处于挂起状态,它甚至不会显示在监控选项卡中,因为它没有初始化。并且您的托管服务器将以 ADMIN 模式启动。我个人喜欢在所有数据源中将此参数设置为 > 0 的值。在我的默认 wlst 脚本中,我将其设置为 300 秒(5 分钟)。