3

Seamフレームワークを使用しています。

私が行った場合

Session sess = (Session)em.getDelegate();
Connection conn = sess.connection();

これは新しい接続ですか?また、接続を手動で閉じる必要がありますか?

これをWeblogicアプリサーバーのループでテストしました。

    Session sess = (Session)em.getDelegate();

    for (int i=1; i<=1000; i++) {
        Connection conn = sess.connection();
        // ... 
        //conn.close();
    }

また、コンソールでWeblogicプールの制限がリソース不足であり、プールへの非アクティブな接続が強制されていないことを確認したことはありません。

4

1 に答える 1

2

javadoc から:

このセッションの JDBC 接続を取得します。セッションが (CMT 環境のように) アグレッシブ コレクション リリースを使用している場合、この呼び出しによって返された接続を閉じるのはアプリケーションの責任です。それ以外の場合、アプリケーションは接続を閉じません。

http://docs.jboss.org/hibernate/core/3.5/api/index.html?org/hibernate/Session.html

于 2011-02-11T13:56:18.043 に答える