事件背景及现象:
由于项目较老,我们的程序跟其他的程序共用同一个数据库,因为他们那边故障,数据库被关闭了,重启后我们自己的程序没有重新连接数据库。
事件原因:
druid配置被修改了。
默认情况下,breakAfterAcquireFailure参数用于失败重连,默认值是false表示代表会进行重连。在我的代码配置中,写成了true,这样一旦连接失败,就算数据库恢复也不会进行重连。
修改方法:
设置为false
breakAfterAcquireFailure=false
另外也顺便加了两个配置:
// 进行3次重试
connectionErrorRetryAttempts=3
// 重连间隔5分钟
timeBetweenConnectErrorMillis=300000
/******************************想要反向配置可以参考下面*********************************************/