我的应用程序每分钟都会被一个 http 请求查询。当 c3p0 运行 CullExpired 和其他后台线程时,应用程序会暂时超时并无响应。此问题随机发生且不经常发生。应用程序超时时的所有实例,我看到 c3p0 后台线程正在运行,试图进行清理或驱逐空闲连接。这非常随机发生,日志中没有其他异常。一段时间后,应用程序会自动恢复并继续处理。有没有人遇到过这样的问题。
c3p0 version is <version>0.9.1.2</version>
hibernate version is <version>3.3.2.GA</version>
我的 c3p0 配置是:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close"
p:driverClass="#{['app.jdbc.driverClassName']}"
p:jdbcUrl="#{['app.jdbc.url']}"
p:user="#{['app.jdbc.username']}"
p:password="#{['app.jdbc.password']}"
p:acquireIncrement="5"
p:idleConnectionTestPeriod="80"
p:maxAdministrativeTaskTime="600"
p:numHelperThreads="10"
p:maxIdleTime="60"
p:maxPoolSize="20"
p:maxStatements="30"
p:minPoolSize="10" />