导致tomcat挂掉的问题

真的不知道该怎样写文章的标题,问题是这样的,前几天开始做权限那块的字段控制,做好后可以跑通,什么都没问题,就是在行控制和列表控制来回点的时候,tomcat就会挂掉,没出现任何的异常。只是重启时报了内存泄露似的异常……郁闷了找了两天,网上搜遍了就是找不到原因。昨晚还是让师兄过来看了下,不到5分钟就找到了问题的所在。哎呀!师兄牛X。

 

我在写代码的时候根本就没有注意hibernate自动生成的dao层的操作数据库的方法,只是调用,根本就没想其他的方法。其实Spring中有两种方法来执行sql或hql操作数据库,分别是getSession()和getHibernateTemplate()

 

使用getSession()必须继承sessionFactory,并且使用getSession(),Spring会把原始的Session给你,你在使用完后必须要自己把session close掉,不然在频繁操作数据库时会占用到所有的链接。也不会对声明式事务进行相应的管理。

 

使用getHibernateTemplate()方法必须继承 HibernateDaoSupport当然包括sessionFactory,它是spring封装好了的,由spring框架帮我们管理session,并且添加了对声明式事务的管理。

 

我就是在dao中使用了getSession()操作数据库并没有手动的去关闭session,而导致tomcat挂掉的。并且这种错误根本就不报任何的异常,如果不对getSession()和getHibernateTemplate()有一定的了解,根本就不会能够想到是这里出的问题,并且这种具体的问题,在网上也没有现成的资料可以参考,真的很感谢师兄啊……

 

以下是tomcat重启扑捉到的,贴上备以后查看

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值