druid重试机制
需提前设置BreakAfterAcquireFailure为true,不然连接重试次数限制无效
还需要设置FailFast为true,不然原始线程会一直阻塞
dataSource.setBreakAfterAcquireFailure(true);
dataSource.setFailFast(true);
dataSource.setConnectionErrorRetryAttempts(3);
druid配置
| 参数 | 说明 |
|---|---|
| InitialSize | 初始化连接数 |
| MinIdle | 最小的空闲连接数 |
| MaxActive | 最大允许的连接数 |
| MaxWait | 获取连接等待的超时时间 |
| TimeBetweenEvictionRunsMillis | 检测需要关闭的空闲连接的间隔时间 |
| KeepAlive | 设置是否保持连接活动 |
| MinEvictableIdleTimeMillis | 连接在池中的最小生存时间 |
| TestWhileIdle | 设置空闲时是否检测连接可用性 |
| TestOnBorrow | 设置获取连接时是否检测连接可用性 |
| ValidationQuery | 设置检测连接是否可用的sql语句 |
| ValidationQueryTimeout | 校验连接是否可用的超时时间 |
| ConnectionErrorRetryAttempts | 设置获取连接出错时的自动重连次数 |
| FailFast | 设置获取连接出错时是否马上返回错误,true为马上返回 |
| NotFullTimeoutRetryCount | 设置获取连接时的重试次数,-1为不重试 |
| BreakAfterAcquireFailure | true表示向数据库请求连接失败后,就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉.false表示新的请求都会尝试去数据库请求connection.默认为false |
作者:消想
链接:https://www.jianshu.com/p/d7323afab808
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
浙公网安备 33010602011771号