【问题标题】:Can't open connection无法打开连接
【发布时间】:2011-09-18 12:22:44
【问题描述】:

我开发了一个非常负载(请求)的应用程序。 我在我的应用程序中使用了以下技术:

  1. Jpa/Hibernate 作为持久层
  2. 春与春道
  3. 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


【解决方案1】:

您是否可以为您的数据源发布 Spring 配置。我希望是这样的:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/>
  <property name="jdbcUrl" value="${jdbc.connection.url}"/>
  <property name="user" value="${jdbc.connection.username}"/>
  <property name="password" value="${jdbc.connection.password}"/>
  <property name="initialPoolSize" value="5"/> 
  <property name="minPoolSize" value="5"/>
  <property name="maxPoolSize" value="100"/>
</bean>

配置了另一个 bean,其中数据源通过引用传递:

<bean id="mySampleDao" class="com.example.dao.MySampleDao">
  <property name="dataSource" ref="dataSource" />
</bean>

这是你的吗?

您使用的是什么版本的 Oracle?

【讨论】:

  • 是的,我有上面的配置。我正在使用Oracle 11g
【解决方案2】:

您增加了 Oracle 上的最大会话数,但没有增加连接池的最大大小。例外是告诉您您的池已用尽。要么找到保持连接打开的内容并尽快释放它们,要么增加池中的最大活动连接数。

【讨论】:

    猜你喜欢
    • 2015-09-11
    • 2015-09-03
    • 2010-12-01
    • 2014-05-08
    • 2012-10-12
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多