如果发生 AWS RDS 恢复,如何重新连接

How to reconnect if AWS RDS recovery happens

我是怎么写代码的

createPool 在应用启动时使用 然后对于我使用 getConnection 的每个请求 我正在使用 AWS RDS 并且它进入了突然恢复模式,因此我的数据库 url 没有改变,但实例 IP 必须已经更改,因为它是在另一个 AZ

中创建的

所以对于这种情况,我应该重新初始化我的数据库连接,以便更新新的实例 DNS。

问题是在这种情况下我没有收到任何超时错误或连接错误。那么如何捕获此类错误?

可能的话请多指教

谢谢

从你的描述中不清楚你到底构建了什么,但听起来你已经创建了一个连接池。

如果您打开与数据库的连接,第一次调用 getConnection 时您应该验证该连接是否仍处于活动状态 - 显然,如果数据库发生故障转移,现有连接将关闭,您将需要创建新连接或 re-open 现有连接。