Свойства соединения DBCP

Нам трудно определить свойства defined, minIdle, maxIdle и т. д.

мы видим следующую ошибку со следующей настройкой

InitialSize=5
maxActive=50
maxIdle=40
maxWait=2000
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1001)
    at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1064)

    ... 36 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:148)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
    ... 39 more
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134)
    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)

person Java Guy    schedule 03.05.2012    source источник
comment
Когда вы получаете эту ошибку, сколько соединений создано пулом и сколько активных? Как долго они активны?   -  person Jim Barrows    schedule 04.05.2012


Ответы (1)


Это решено. Проблема заключалась в утечке соединения из-за плохого кода приложения. Код приложения был написан для доступа к базовому собственному соединению для использования типов массивов Oracle и не управлялся должным образом. Код изменен на использование SimpleNativeJdbcExtractor.

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

person Java Guy    schedule 06.05.2012