JSP 开发之 releaseSession的实例详解
作者:lqh 时间:2023-06-14 11:49:03
JSP 开发之 releaseSession的实例详解
Hibernate可以实现分页查询,昨天试了一下,分页效果不错。但是发现了一个问题,就是当请求超过20次的时候页面就会卡死。经检查,是卡在分页查询这一块。
应用程序采用struts2 + spring2 + hibernate3架构
连接池配置使用的是c3p0,最大池大小为20, 很显然是连接池耗尽导致的。增加连接池大小只是饮鸩止渴,总还有耗尽的时候,必须找到根本原因。
Dao类的分页查询方法如下:
java 代码
public List getTopics(int perPageStartNum, int perPageShowNum, long f_id) {
Query query = getSession().createQuery("from Topic where forumId=" + f_id);
query.setFirstResult(perPageStartNum);
query.setMaxResults(perPageShowNum);
return query.list();
}
我尝试在获得list之后,使用getSession().close()关闭,没有效果。
早上来上班继续调试,问题依旧。仔细想想可能还是对于spring中集成的操作hibernatesession 的方法不熟悉。
查阅Spring API:
geSession()是org.springframework.orm.hibernate3.support.HibernateDaoSupport 中的一个方法,
它可以从当前事务或者一个新的事务获得一个hibernatesession.
通常使用releaseSession(org.hibernate.Session)方法与getSession()配合。
如果没有绑定线程,releaseSession关闭由这个DAO的SessionFactory创建的Hibernate Session。
修改后的代码为:
public List getTopics(int perPageStartNum, int perPageShowNum, long f_id) {
Session session = getSession();
List list = session.createQuery("from Topic where forumId=" + f_id)
.setFirstResult(perPageStartNum)
.setMaxResults(perPageShowNum)
.list();
releaseSession(session);
return list;
}
启动服务器测试,问题解决。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/johnstrive/article/details/5512352
标签:JSP,releaseSession
0
投稿
猜你喜欢
python-docx如何缩进两个字符
2022-07-04 15:56:45
javascript 文档的编码问题解决
2024-04-22 22:45:22
asp如何做一个只能从本站点才能访问的页面?
2010-07-12 19:00:00
SQL Server优化50法汇总
2024-01-24 11:11:37
php字符串截取函数用法分析
2023-06-28 22:19:26
MySQL8.0的WITH查询详情
2024-01-24 16:43:16
js中继承的几种用法总结(apply,call,prototype)
2024-04-16 09:47:25
深入了解Golang中的数据类型
2024-02-10 10:17:49
MySQL 压缩的使用场景和解决方案
2024-01-19 15:45:58
Python生成pdf目录书签的实例方法
2023-10-11 15:43:21
Python小游戏之300行代码实现俄罗斯方块
2023-10-09 17:35:33
jsp中select的onchange事件用法实例
2024-04-19 09:58:23
将pandas.dataframe的数据写入到文件中的方法
2022-07-13 14:56:38
15分钟学会vue项目改造成SSR(小白教程)
2024-04-27 16:07:07
Python算法中的时间复杂度问题
2021-03-20 04:52:50
python字符串下标与切片及使用方法
2022-04-21 13:08:03
Python中无限循环需要什么条件
2023-03-28 09:05:14
为你的有序列表添加个性样式
2009-02-23 13:12:00
Go基础教程系列之defer、panic和recover详解
2024-02-02 06:34:11
Tensorflow--取tensorf指定列的操作方式
2021-06-25 21:21:02