【问题标题】:DBCP Connection propertiesDBCP 连接属性
【发布时间】:2012-05-13 12:00:02
【问题描述】:

我们很难弄清楚definedminIdlemaxIdle 等属性。

我们在以下设置中看到以下错误

初始大小=5 最大活动=50 最大空闲=40 最大等待=2000 引起:org.springframework.jdbc.CannotGetJdbcConnectionException:无法获得JDBC连接;嵌套异常是 org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) 在 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1001) 在 org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1064) ... 36 更多 引起:org.apache.commons.dbcp.SQLNestedException:无法获取连接,池错误超时等待空闲对象 在 org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114) 在 org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 在 org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:148) 在 org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ... 39 更多 引起:java.util.NoSuchElementException:等待空闲对象超时 在 org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134) 在 org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)

【问题讨论】:

  • 当您收到此错误时,连接池创建了多少连接,有多少连接处于活动状态?他们活跃了多长时间?

标签: java connection-pooling apache-commons-dbcp


【解决方案1】:

已解决。问题是来自错误应用程序代码的连接泄漏。编写应用程序代码是为了访问底层本机连接以使用 Oracle 数组类型,但未正确管理。将代码更改为使用 SimpleNativeJdbcExtractor

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.html

【讨论】:

    猜你喜欢
    • 2019-03-03
    • 2012-12-22
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多