0

、などの定義されたプロパティを理解するのに苦労しています。minIdlemaxIdle

次の設定で次のエラーが表示されます

初期サイズ=5
最大アクティブ = 50
maxIdle=40
最大待機 = 2000
原因: org.springframework.jdbc.CannotGetJdbcConnectionException: JDBC 接続を取得できませんでした。ネストされた例外は org.apache.commons.dbcp.SQLNestedException: 接続を取得できません。プール エラー アイドル オブジェクトを待機中のタイムアウト
    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 に答える