如何从连接池中删除损坏的连接对象?使用c3p0
在我的应用程序中,当数据库通信失败时,它显示异常。获得数据库连接后立即发送任何数据库请求,我收到相同的异常。获取数据库连接 30 秒后的任何请求都可以正常工作。那么如何删除损坏的连接对象呢?
我的连接属性是:-
url=jdbc:mysql://db_host:db_port/db_name
driverClassName=db_driver_class_name
username=root
password=password
hibernate.platform=org.hibernate.dialect.MySQLDialect
initialPoolSize=5
minPoolSize=5
maxPoolSize=20
checkoutTimeout=1000
maxStatements=20
acquireRetryAttempts=1
acquireRetryDelay=10
maxIdleTime=1
acquireIncrement=0
maxConnectionAge=1
最佳答案
c3p0 可以通过多种方式测试连接:
- 退房时
- 办理入住手续时
- 定期
配置描述如下:http://www.mchange.com/projects/c3p0/#configuring_connection_testing
请注意,连接测试会增加一些开销,具体取决于您对获取的连接执行的工作量。
关于java - 如何从连接池中删除损坏的连接对象?使用c3p0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11533293/