SessionFactory重复新建冗余的连接池的问题
来源:互联网 发布:免费拆单软件 编辑:程序博客网 时间:2024/06/08 00:56
c3p0版本:c3p0-0.9.0、c3p0-0.9.1.2
SessionFactory:工程加入hibernate框架时生成的
出现的问题,每次刷新该应用的网页后,c3p0连接池都要额外增加。
解决办法:不用SessionFactory 生成session。换成HibernateUtil来生成session
更改前后代码比较
更改前
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx=session.beginTransaction();
tx.commit();
session.close();
更改后
Session session = null;
session = HibernateUtil.openSession();
session.beginTransaction();
session.flush();
session.getTransaction().commit();
HibernateUtil.closeSession(session);
解决思路:异常提示中,说数据库连接池的问题,所以想到的是c3p0设置。
检查了设置之后,发现同样的设置,不同的应用却有好有坏。
想到最笨的解决办法就是:把坏的应用重新写,按照好的应用的代码。
后来觉得既然是代码问题,那就做一下比较,究其根源。
比较代码后,发现区别如最上所述。
改写局部代码后,验证成功!
二次实验总结:去掉c3p0设置后,发现每刷新一次应用后,连接池还是继续增加。不是c3p0问题,是代码书写的问题,有可能是session没关上,有待再次实验!
- SessionFactory重复新建冗余的连接池的问题
- sessionFactory有关的问题
- 查找冗余或重复的索引
- 解决Android中顶部title功能重复问题,减少代码冗余的功能
- 解决分布式环境中多线程高并发重复请求服务器。造成的数据冗余问题
- VS2008 OPENCV解决新建工程重复配置lib的问题
- Hibernate5.x中新建SessionFactory的两种方法
- SuperMap Deskpro 6 新建sql数据源连接的问题
- arcgis数据库产生冗余问题的解决
- 冗余计算机项目的调试问题归纳
- SSH框架学习(七、加入c3p0连接池并改用spring提供的sessionFactory)
- SSH框架学习(六、加入c3p0连接池并改用spring提供的sessionFactory)
- 如何解决Visual Studio2015无法创建C++控制台应用程序,重复弹出新建项目窗口的问题
- sessionFactory.getCurrent()和sessionFactory.openSession()的区别
- sessionFactory().getCurrentSession()和sessionFactory().openSession的区别
- 解决XP下新建连接向导中建立宽带拨号连接选项为灰色的问题
- 关于delphi下clientsocket的重复连接问题
- Hibernate的Transaction SessionFactory
- io.h头文件下的一些函数
- rpm命令详解
- Stream 和 byte[] 之间的转换
- 5版触摸事件处理的函数 -- 代码片段
- 感想
- SessionFactory重复新建冗余的连接池的问题
- 论Java软件工程的修练
- 最小的十位素数
- oracle学习 一
- uva 10142
- css 百分比 定义高度 小结
- 要质问,请你先了解下事件的真像
- 播放动画文件
- 项目部署