在我们的项目中,我们维护自己的数据库连接池。
为了解决问题'java.sql.SQLRecoverableException: Io exception
,大多数人建议使用像apache dbcp这样的标准连接池。
请回答我的所有问题。
答案 0 :(得分:2)
我正在回答这个问题,假设您使用Apache org.apache.commons.pool.impl.GenericObjectPool
,org.apache.commons.dbcp.DataSourceConnectionFactory
,org.apache.commons.dbcp.PoolableConnectionFactory
和org.apache.commons.dbcp.PoolingDataSource
类来使用Apache DBCP进行连接池。
GenericObjectPool.testOnBorrow
和GenericObjectPool.testOnReturn
设置为真,则会使用validationQuery
中的PoolableConnectionFactory
设置验证连接是否处于活动状态。如果验证失败,将删除Connection对象并创建新对象并将其添加到池 minEvictableIdleTimeMillis
中的GenericObjectPool
和timeBetweenEvictionRunsMillis