网络编程
位置:首页>> 网络编程>> Jsp编程>> JSP 开发之 releaseSession的实例详解

JSP 开发之 releaseSession的实例详解

作者:lqh  发布时间:2023-06-14 11:49:03 

标签:JSP,releaseSession

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

0
投稿

猜你喜欢

  • 我们都一定对比过编程的轻松与简单性。虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php、asp、jsp以及
  • SQL Server导出表到EXCEL文件的存储过程:*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel
  • Web技术的发展速度太快了,如果你不与时俱进,就会被淘汰。因此,为了应对即将到来的HTML5,本文总结了22个HTML5的初级技巧,希望能对
  • CSS 和 JavaScript 的压缩已经很成熟,各大网站都在使用。HTML 的压缩(特指去除空白字符和注释),除了 Google 等搜索
  • ASP给图片加水印是需要组件的...常用的有aspjpeg软件和中国人自己开发的wsImage软件,可以上网搜索下载这两个软件,推荐使用咱们
  • 最近有Win10系统用户反映,由于自己的电脑安装有两个python软件,所以想要卸载掉其中一个,不过在卸载的时候却发现无法卸载,并且出现提示
  • 以下虚线框内为mk.asp文件的具体代码:<%filename="test.htm"if request
  • 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6  , IE7 &nb
  • 1 什么是prototype       JavaScript中对象的prototype属性,可以返
  • 在asp编程中,我们常常使用trim(rtrim ,ltrim)函数去掉一些数据的开头和结尾的空格,笔者最近写了一个asp聊天室,看到下面的
  • 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2
  • 整本书围绕着一个叫做“CSS禅意花园”的网站展开,其实N久之前我在一份外国的关于CSS的在线教程上看到了这个网站的链接,可惜进去之后发现内容
  • 链接的 target 属性怎么用 JS 来控制? 在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a&g
  • 在文章《用CSS实现柱状图(Bar Graph)的方法总结与比较(三)》中我强调说不同浏览器对于相同元素的默认样式并不一致,这也是为什么我们
  • 先看看:css中class与id的区别及应用表单的name与id其实是同一个意思,都是为了标记对象名称。它们所不同的是:name是Netsc
  • 在前人的基础上,我对比较优秀的sql语句进行了重新的编辑和整理,力求精短易学。希望大家可以举一反三,更好学习sql语句,如果有问题,还请翻阅
  • 生成Fiboncci Fn数有Θ(1),Θ(n)甚至指数级的算法,不过有Θ(log n)的吗?告诉你,有。首先,关于Fibonacci数,有
  • 首先数据库里需要有一个自动编号字段(ID)。然后第一次访问的时候,取出所有记录,定制好每页的记录数PageSize,计算出页数,然后根据页数
  • 由于连续的字符(字母、符号、数字)在默认情况下是不换行的,可能会破坏整个界面布局。那如何解决这个问题呢?在 IE 和 Safari 1.3+
  • 网页可以说是网站构成的基本元素。当我们轻点鼠标,在网海中遨游,一幅幅精彩的网页会呈现在我们面前,那么,网页的精彩与否的因素是什么呢?色彩的搭
手机版 网络编程 asp之家 www.aspxhome.com