【问题标题】:Hibernate kills session but connection stays open休眠终止会话但连接保持打开状态
【发布时间】:2013-08-21 17:43:27
【问题描述】:

我用 Hibernate + JSF 制作了一个软件。但是当我与 Hibernate 进行会话时意识到,即使我关闭了会话 (session.close()),连接仍然在 MySQL 中打开。

show FULL PROCESSLIST

2   root    localhost:55850 repositorionew  Query   0       
5   root    localhost:55884 repositorionew  Sleep   110     
6   root    localhost:55885 repositorionew  Sleep   110     
7   root    localhost:55886 repositorionew  Sleep   110     
8   root    localhost:55906 repositorionew  Sleep   108     
9   root    localhost:55907 repositorionew  Sleep   108

每个会话都会打开,创建一个连接但即使我使用 close 也不会关闭。

有人编辑了我的帖子。主要问题是连接的时间结束时,并没有关闭而是重新启动。

【问题讨论】:

  • 你用的是spring吗?或者您有任何类型的事务管理器吗?另外,您是否使用连接池?
  • 这正是问题所在。 C3p0 我用来管理连接。但是当我编辑超时时,它不会关闭连接,只会重新启动。当超时达到您想要的数字时,它会创建一个新连接。并在达到超时时生成新连接。不使用 Spring。

标签: hibernate


【解决方案1】:

【讨论】:

  • 有人编辑了我的帖子。主要问题是连接时间结束时,并没有关闭而是重启。
【解决方案2】:

这不是连接池的默认行为吗?我不认为关闭会话意味着关闭连接。根本不是连接池的情况。

正确关闭应用后会发生什么?

【讨论】:

  • 有人编辑了我的帖子。主要问题是连接时间结束时,并没有关闭而是重启。
  • 它将对应于池,因为池仅存储活动连接数等于某个定义的数量 - 在配置中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2013-08-09
  • 2014-07-09
  • 1970-01-01
相关资源
最近更新 更多