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
  • asp之家 网络编程 m.aspxhome.com