不关闭hibernate会话时的奇怪行为

时间:2013-09-17 06:21:00

标签: java hibernate jsf

我遇到了关闭hibernate会话的问题,问题的细节是: UI(使用JSF2.1实现)在多次执行某些操作后因空请求而挂起。问题的原因是hibernate会话在执行任何数据库操作后都没有关闭

所以我的问题为什么这种悬挂发生了?为什么一个空的请求?我认为当这样的事情发生时,异常会像hibernate API抛出IllegalStateException告诉你“你打开了很多会话”对吗?

1 个答案:

答案 0 :(得分:6)

如果不关闭Hibernate会话,因此不释放JDBC连接,则会出现通常称为连接泄漏的内容。因此,在多个请求(取决于连接池的大小)之后,服务器将无法获取连接以响应您的请求。实际上,服务器将等待连接被释放并再次在池中可用,它似乎会挂起。