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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。