配置Hibernate以从连接池获取新连接

时间:2010-04-15 19:37:00

标签: java hibernate orm jdbc websphere

如何配置Hibernate,以便每次调用sessionFactory.openSession()时它都会连接来自连接池的新连接?连接池由Websphere Application Server管理,是JDBC数据源。

由于

1 个答案:

答案 0 :(得分:2)

  

如何配置Hibernate,以便每次调用sessionFactory.openSession()时它都会连接到连接池中的新连接?

这是默认行为,每个会话将从连接池获得专用连接。

  

现在看来两个会话都使用相同的连接,因为当第一个会话关闭时(手动调用session.close())有时,另一个会话在尝试运行时会抛出“会话关闭”异常对它的更多疑问。

不,他们不是。但也许第二个连接在为请求启动的事务结束时释放。查看hibernate.connection.release_mode configuration parameter,您可能希望使用on_close。但是如果没有关于交易策略的更多细节,就不可能说什么。

  

第二个会话由子线程打开,这意味着即使在(HTTP)请求完成后,子线程也可以继续生效。

带上我以前的建议,你应该不会产生unmanaged threads,我不知道应用服务器的行为方式。我在this other answer中解释了什么是正确的方法。