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:

获取此 Session 的 JDBC 连接。如果会话正在使用积极的收集释放(如在 CMT 环境中),则应用程序有责任关闭此调用返回的连接。否则,应用程序不应关闭连接。

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

于 2011-02-11T13:56:18.043 回答