2012-04-03 6 views
4

私はSpring Data JPAを私のアプリケーションで使用しました。これは、休止状態のラッパーです。データベースとの相互作用がある時点で、私は休止状態にexpectionにHibernate 'Connectionを解放できません'で例外が発生しましたか?

Caused by: org.hibernate.exception.GenericJDBCException: Cannot release connection 
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) 
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) 
    at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:478) 
    at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:429) 
    at org.hibernate.jdbc.ConnectionManager.afterStatement(ConnectionManager.java:304) 
    at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:572) 
    at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:291) 
    at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:307) 
    at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:234) 
    at org.hibernate.loader.Loader.getResultSet(Loader.java:1967) 
    at org.hibernate.loader.Loader.doQuery(Loader.java:802) 
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) 
    at org.hibernate.loader.Loader.doList(Loader.java:2533) 
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276) 
    at org.hibernate.loader.Loader.list(Loader.java:2271) 
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452) 
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) 
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268) 
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:246) 

接続処理を取得していますが 我々は、明示的に解放するか、接続を終了していない内部処理です。私はこの問題を解決する方法を理解することはできません

..

+0

私はこの春、データ関連の問題ではないと思います。あなたが追加する気だろうデータソース設定または一般的なJPAインフラストラクチャtup? –

+0

これは私のデータベース構成です: dhroove

答えて

3

最後に、私は解決策を得ました。私はこの問題を、データベースごとにいくつか追加の設定を行うことで解決しました。ここで

は、詳細なリンクです:一言で言えばhttp://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

(「testOnBorrow」、 『testOnReturn』、 『testWhileIdle』)これらは私が例外の上に削除すると遊んパラメータです 例外ショーの上のいくつかの点で時間私達のデータベース接続オブジェクトが何とか無効ます。しかし、これらの設定は、当社のデータベース接続のチェックを保つために私たちを助けます。

乾杯:)

+0

私はこの問題を調査している間に役立つと分かった別の記事です:http://info.michael-simons.eu/2011/11/21/fixing-hibernate-cannot-release-connection-exception-using-dbcp -and-mysql / – user1242321

関連する問題