小弟请教一个hibernate的问题,网站运行一段时间后就会出现这个错误。

问题描述

type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.RuntimeException: tx.rollbacd() throw exception = org.hibernate.TransactionException: JDBC rollback failed  com.soc.hibernate.BaseDaoHibernate.find2(BaseDaoHibernate.java:344) com.soc.index.action.IndexAction.initIndex(IndexAction.java:248)sun.reflect.GeneratedMethodAccessor228.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept (DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept (AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept (ConversionErrorInterceptor.java:138) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept (StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept (ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept (ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter (StrutsPrepareAndExecuteFilter.java:91) com.soc.filter.CharsetFilter.doFilter(CharsetFilter.java:23) com.soc.filter.EncodingFilter.doFilter(EncodingFilter.java:23)       java action 代码: 248行片段: /** * @return * chang * 初始化首页 */public String initIndex(){//政府咨询List<D0001> list = (List<D0001>) baseDao.find2(" from D0001 d", 0, 8, "d.d0007=11 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("zfzxList", changeTitle(list));request.setAttribute("zfzxImg", list.get(0));//热点咨询List<D0001> listRdzt = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=12 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("rdztList", changeTitle2(listRdzt));request.setAttribute("rdztImg", listRdzt.get(0));//需求任务List<D0008> listxuqiu = (List<D0008>) baseDao.find2(" from D0008 d", 0, 5, "1 = 1 order by d.d0001 desc").get("result");request.setAttribute("listxuqiu", changeTitle8(listxuqiu));request.setAttribute("listxuqiuImg", listxuqiu.get(0));//维权援助List<D0009> listWqyz = (List<D0009>) baseDao.find2(" from D0009 d", 0, 5, "1=1 order by d.d0001 desc").get("result");request.setAttribute("wqyzList", changeTitle9(listWqyz));request.setAttribute("wqyzImg", listWqyz.get(0));//政策信息List<D0001> listZfxx = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=14 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("ZfxxList", changeTitle2(listZfxx));request.setAttribute("ZfxxImg", listZfxx.get(0));//转化成功案例List<D0001> listZhcgal = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=15 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("listZhcgal", changeTitle2(listZhcgal));request.setAttribute("listZhcgalImg", listZhcgal.get(0));//发明创新指导List<D0001> listFmcxzd = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=16 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("listFmcxzd", changeTitle2(listFmcxzd));request.setAttribute("listFmcxzdImg", listFmcxzd.get(0));//院校科研团队List<D0001> listYxkytd = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=17 order by d.d0008 desc,d.d0004 desc").get("result");request.setAttribute("listYxkytd", changeTitle2(listYxkytd));request.setAttribute("listYxkytdImg", listYxkytd.get(0));  网站运行2--3天就会出现这种情况,请问是什么问题,求大神解救。谢谢啦。

解决方案

是你的事物回滚失败了你的hibernate链接是否加入c3p0连接池之类的出现这个问题的原因首先, 你的代码是从数据库读取用户信息, 不是写入数据. 所以不能使用事务和rollback方法.第二, 当你更新和插入一条记录到数据库, 使用事务的时候, 关闭数据库的自动提交. 检查你的连接池是否正常.第三, 当你有一个错误, 一定要关闭你的Hibernate连接. 当你捕获一个异常, 使用finally关闭hibernate Session或者数据库连接.另外, 可能连接池已经用完.
解决方案二:
我觉得是你某个数据库操作阻塞了进程,看看那些语句查询时间比较长,优化一下,加个索引啥的。
解决方案三:
这个样子,我以前也是遇到这个问题的,那时候我用的是hibernate自带的数据连接池,网站每隔8小时就死掉,然后报类似的错误,后来我通过1天的查阅资料总结了这种我称之为8小时问题的问题:hibernate自带的数据源会在创建好数据连接池以后就不再管这个连接是否有效,而是天真的任务只要创建,那么就会一直有效。然而吝啬的mysql(当时我用的是mysql),却会在发现这个连接如果8小时没有使用就会自行断掉,但hibernate自带的连接池不知道,而去直接使用这个连接,这样就会异常了。你用的c3p0数据源的话也要配置一下每次使用连接之前去检查一下连接的有效性: <!-- 每次都验证连接是否可用 这里就可以啦!--> <property name="hibernate.c3p0.validate">true</property> 另外,你配置c3p0后得告诉hibernate,否则他还会用自己自带的数据源的:<!—很重要,hibernate会根据这个属性来确定使用c3p0数据源--> <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>ps:如果你的网站总有人访问的话,其实也就不用愁8小时问题了,哈哈·····

时间: 2024-08-03 23:36:35

小弟请教一个hibernate的问题,网站运行一段时间后就会出现这个错误。的相关文章

tomcat-Tomcate6 运行一段时间后 某些Action 报 404错误

问题描述 Tomcate6 运行一段时间后 某些Action 报 404错误 centos操作系统 .Tomcate6 服务器,运行一段时间后有几个Action报 404错误 No result defined for action and result input前端用了 urlrewrite 做伪静态 <rule> <from>/desktop/index</from> <to>/desktop/index.action</to> </

网站运行一段时间ASP页面都打不开解决办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站运行一段时间asp页面都打不开.相信很多人都遇到了这问题.特别郁闷. 这个问题的解决办法如下: asp站点状况:运行一段时间(不知道多长,1天或者几天或者几个小时)IIS假死,ASP无法访问,站上的html都正常可访问. 状况:运行一段时间(不知道多长,1天或者几天或者几个小时),然后asp页面就无法访问,但是静态页面可以访问,ftp可以

tomcat运行一段时间后网站访问就变慢甚至无法访问

问题描述 tomcat运行一段时间后网站访问就变慢甚至无法访问,重启tom之后就恢复正常,过几个小时,又会变慢服务器cpu和内存都没问题的,CPU24线程的,内存8G.求有经验的大神帮忙解决下.如果解决掉这个蛋疼的问题,我可以支付点报酬. 解决方案 本帖最后由 qq_18582545 于 2014-09-27 03:12:01 编辑解决方案二:先排除服务器上面其他服务占用内存的情况一段时间变慢,一般是内存泄露导致的等tomcat变慢或者无法访问时,检查tomcat运行日志,检查服务日志看看是否有

我用XMLHTTP后台取网站数据一段时间后被T回首页,不知道是什么原因,请朋友位帮忙分析一下可能的原因!

问题描述 我用XMLHTTP后台取网站数据一段时间后被T回首页,不知道是什么原因,请朋友位帮忙分析一下可能的原因!我用XMLHTT做后台取网站数据进入分析,手动登陆后每秒取一次数据,但是运行一段时间就被网站T回到了首页要求从新登陆,被T的时间也很不确定,有时间几分钟,有时间半个多一个小时.不知道有没有办法解决被T的问题,敬请各位朋友帮忙分析解决的方案!在此谢谢各位! 解决方案 解决方案二:有可能Session时间到了,取回来的数据有跳转到首页的代码不要去执行里面的代码解决方案三:恩,LS说的对解

通讯-C# 客户端和服务端连接时出现服务端运行一段时间后切断连接

问题描述 C# 客户端和服务端连接时出现服务端运行一段时间后切断连接 各位大神,现在遇到一个问题: 我的客户端程序与服务端进行数据通讯,用到的通讯协议为Modbus tcp和FTP, 但现在在运行的过程中出现一个问题,就是我的客户端程序运行一段时间后,服务端直接切断了与我客户端程序的连接(此时我的客户端程序也没有报错,可是我使用了try,catch语句进行报错的),与此同时,我通过输入FTP地址直接登录也不行,提示的错误为与服务器的连接被重置,这个问题是处在我的客户端程序还是服务端?我查了两天的

java-while (true)中代码运行一段时间后出现问题

问题描述 while (true)中代码运行一段时间后出现问题 下面是我写的一段java代码,希望通过循环不断的执行一些函数,但是运行一段时间后,程序没有出现异常,也没有停止,但是没有过像之前一样循环执行了,请教一下原因. int month = 0; int minute = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm"); Date dt = new Date(); String d = sdf.f

java-项目运行一段时间后session数据失效问题

问题描述 项目运行一段时间后session数据失效问题 最近struts2+spring做开发,项目启动后登陆操作一切正常,一天后再登陆后操作session里的数据老是失效不存在,但是页面又显示正常, 纠结了很久找不到原因,还请大神们帮忙看下. 获取session数据是用struts2的方法,代码如下,服务器是用的jboss7 HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session =

android-Android程序运行一段时间后,程序没有报错,线程会自动会被挂起

问题描述 Android程序运行一段时间后,程序没有报错,线程会自动会被挂起 程序是这么个情况,主界面显示一个图片,另起一个线程去定时刷新这个图片,运行一段时间后,程序自己就会停止,动一下手机,程序能继续运行,网上查的说Android系统自己会挂起线程,跪求解决方案 解决方案 在程序中有没有申请WeakLock,阻止系统进入休眠状态?

Js代码失效问题,代码运行一段时间后,突然报错,请各位帮忙看一下,谢谢

问题描述 Js代码失效问题,代码运行一段时间后,突然报错,请各位帮忙看一下,谢谢 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@include file="/common/taglibs.jsp"%> <!DOCTYPE html> <html> <head> &