使用BoneCP池重新连接Spring上的JDBC故障转移主机

时间:2017-03-22 12:00:14

标签: java spring postgresql jdbc bonecp

我通过提供包含相同复制数据库的多个主机,将Spring Boot应用程序配置为使用BoneCP和PostgreSQL的故障转移机制(jdbc:postgresql://host1:port,host2:port,host3:port/my_db?currentschema=public)。

在进行测试时,我观察到如果连接断开,应用程序将返回PSQLException: An I/O error occurred while sending to the backend后跟几个PersistenceException到Web浏览器(例如,在请求存储数据时)并赢得&#39 ; t尝试切换到下一个可用的主机,除非用户手动重新加载触发重新连接的页面。

我希望捕获这些异常并强制重新连接(或者在重新连接之前,如果可能的话,最多重新连接X,每个之间有Y ms),然后再将任何内容返回给用户。当然,如果所有主机都无法访问(或者出现不同的问题),则会像往常一样抛出异常

0 个答案:

没有答案