0

我们很难弄清楚定义的属性,minIdle等等maxIdle

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

初始大小=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)
4

1 回答 1

2

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

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

于 2012-05-06T14:27:57.200 回答