java - 如何从连接池中删除损坏的连接对象?使用c3p0

标签 java spring jpa c3p0

如何从连接池中删除损坏的连接对象?使用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/

相关文章:

java - 使用 Spring Security 检索 session ID

java - 如何在 JPA 域模型中实现状态设计模式

java - 从 spring-log4j2.xml 文件中的应用程序属性读取值

java - Netbeans Spring 4.0 需要 GET 和 POST

java - 如何在启动时仅对 Android View 进行一次动画处理?

java - 使用 Guice 和 JMockit 对拦截器进行单元测试

java - 如何使用 JPA 注释创建连接表?

spring - 使用 Spring @ContextConfiguration 进行事务测试 - 清除数据库问题

java - 如何只为 XWPFWordExtractor (POI Library) Java 提取段落而不是整个文本

java - JPOS ISO 8583 解析问题