题注:c3p0可以从DB短暂的运行中断(outrage)中恢复,即当c3p0获取连接但是失败时,可以再次请求获取连接。
运行中断如:
- DB restart DB重启。
- brief loss of network connectivity 短暂的丢失网络连接。
so可以通过c3p0 recovery配置项来尝试获得连接。
配置项
-
acquireRetryAttempts
配置失败后重试次数 -
acquireRetryDelay
配置失败后重试时间间隔 -
breakAfterAcquireFailure
配置获取connection一轮失败重试之后是否关闭DataSource。
补充:
- datasource尝试获取连接并且失败之后,会进行acquireRetryAttempts尝试,每次时间间隔为acquireRetryDelay。
- 在尝试多次连接期间,client是不会看到异常的。如果acquireRetryAttempts=0,datasource会无限期尝试获取连接,也许会block掉一直到get到为止。
- breakAfterAcquireFailure策略。一旦多次尝试获取失败后,有2种策略。(1)fasle。默认Datasource一直活着,之后的其他client获取连接会继续进行。(2)true。只要第一个client多次get不到connection,datasource就会broke掉,之后的client就getConnection
立即失败
。
网友评论