【发布时间】:2011-09-18 12:22:44
【问题描述】:
我开发了一个非常负载(请求)的应用程序。 我在我的应用程序中使用了以下技术:
- Jpa/Hibernate 作为持久层
- 春与春道
- C3p0 作为连接池
我的问题是:我运行我的应用程序,当请求数量增加时,抛出异常 “无法打开连接”的持久层 我增加了 oracle max session 但我的问题没有解决 我不擅长 C3p0 文档并测试了它的选项,但我的问题没有解决。
感谢您的关注
【问题讨论】:
-
我很难理解这个问题。您介意对其进行编辑,并添加所有重要信息(连接池设置、Oracle 配置文件限制等)以便足够清晰吗?
-
我的 c3p0 设置是:initialPoolSize = 5 minPoolSize = 5 maxPoolSize = 100 maxIdleTime =30000 unreturnedConnectionTimeout = 90 propertyCycle = 60 acquireRetryDelay = 1000 maxConnectionAge = 0 acquireIncrement = 1 acquireRetryAttempts =0 当然我通过几个测试 C3p0值和其他选项,但不要改变。
-
你能发布完整的堆栈跟踪吗?可能是您有太多打开的连接,因为您以某种方式泄漏连接(不太可能使用 Hibernate),或者您可能由于其他原因突然无法访问数据库(可能是某些东西将其关闭)
-
引起:javax.persistence.PersistenceException:org.hibernate.exception.GenericJDBCException:无法打开连接引起:org.hibernate.exception.GenericJDBCException:无法打开连接引起:java.sql.SQLException :客户端检出连接的尝试已超时。原因:com.mchange.v2.resourcepool.TimeoutException:客户端在等待从 com.mchange.v2.resourcepool.BasicResourcePool@10241ae 获取资源时超时——在 awaitAvailable() 处超时
标签: java oracle hibernate connection-pooling c3p0