您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何防止Hibernate + c3p0 + MySql创建大量睡眠连接?

如何防止Hibernate + c3p0 + MySql创建大量睡眠连接?

在测试过程中,我发现无论使用close()方法如何,Hibernate都在打开每个会话的连接,但没有关闭

使用连接池时,调用Connection#close()不会物理上关闭连接,而是将其返回到池中以供将来重用。换句话说,连接保持打开状态,这就是使用池的全部要点。

我称之为:AnnotationConfiguration()。buildSessionFactory()。getCurrentSession();

好吧,这就是问题所在。您正在创建SessionFactory一遍又一遍(每个都创建自己的池),而在应用程序的整个生命周期中 创建 。如果您不使用任何特定框架,则通常是在某些实用程序类(著名的HibernateUtil类)中完成的。

官方的《Hibernate教程》提供了此类的非常基本的示例。或者看一下这个更丰富的东西。

MySQL 2022/1/1 18:14:12 有590人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶