2

我遇到了一个关于关闭休眠会话的问题,问题的详细信息是:UI(使用 JSF2.1 实现)在多次执行某些操作后挂起,导致请求为空。问题的原因是休眠会话在执行任何数据库操作后未关闭

所以我的问题是为什么会发生这种情况?为什么是空请求?我认为当发生这样的事情时,hibernate API 会抛出 IllegalStateException 之类的异常来告诉您“您打开了很多会话”,对吗?

4

1 回答 1

7

当您不关闭 Hibernate 会话并因此不释放 JDBC 连接时,您就会遇到通常称为连接泄漏的情况。因此,在多次请求之后(取决于连接池的大小),服务器将无法获取连接来响应您的请求。实际上,服务器将等待连接被释放并再次在池中可用,它似乎正在挂起。

于 2013-09-17T06:49:26.447 回答