websphere错误备忘录

项目已经上线,昨天客户发现一个问题,某个操作取消不了,查看一下log,系统是websphere5.x,发现以下的异常:

E WLTC0033E: 在清除未解析 LocalTransactionContainment 时,资源 jdbc/oa回滚。
[07-1-15 17:37:09:280 CST] 57961377 LocalTranCoor E WLTC0032E: 一个或多个资源回滚。一个未解析的 LocalTransactionContainment 有一个未解析的回滚操作。
[07-1-15 17:37:09:280 CST] 57961377 WebAppTransac E WTRN0043I: 由于 setRollbackOnly,本地事务回滚。
[07-1-15 17:37:09:296 CST] 57961377 WebGroup      E SRVE0026E: [Servlet 错误]-[LocalTransaction rolled-back due to setRollbackOnly]:com.ibm.ws.LocalTransaction.RolledbackException
    at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.cleanup(LocalTranCoordImpl.java(Compiled Code))
    at com.ibm.ws.webcontainer.webapp.WebAppTransactionCollaborator.postInvoke(WebAppTransactionCollaborator.java(Compiled Code))
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))
    at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))
    at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java(Compiled Code))
    at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))
    at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled Code))
    at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))
    at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))

查了下代码,一开始没发现有什么问题,不过是4,5个增删操作(两张表以上)。把错误信息输入google搜索,挺多人碰到这个错误,有的说是websphere的bug,有的说要把AutoCommit设置为true.
websphere的事务处理确实有bug,不过我们已经打过补丁,把AutoCommit设置为true的话,与我们所需要的效果不同,毕竟需要这些操作在同一个事务内。昨天查了一个晚上没找到原因,今天一段一段地调试代码,让我发现问题了:
conn = ConnectionManager.getConnection();
conn.setAutoCommit(false);
在conn.commit()前,我进行了一个判断:

if(....){
  return;
}
conn.commit

直接return,导致后面的conn.commit()没有执行,事务不完整。修改成:
if(....){
  ...
  conn.commit();
  return;
}

所以这个异常的出现,很有可能是你的事务处理有问题,那条教训还是很有用的:一个方法最好不要有多个return语句。

文章转自庄周梦蝶  ,原文发布5.16

时间: 2024-10-31 01:57:16

websphere错误备忘录的相关文章

WebSphere错误:00000023 ServletWrappe E SRVE0068E

问题描述 相关错误信息:请稍候...辅助功能选项锚链接,跳至以下内容:标题,主,重要消息记录和跟踪关闭页面记录和跟踪记录和跟踪>server1>日志文件显示给定文件的内容.总数:397,总过滤数:250检索行数(例如250-600)日志文件************StartDisplayCurrentEnvironment************WebSpherePlatform6.1[ND6.1.0.23cf230910.10]runningwithprocessname15-serverN

使用ruby备份你的blog

虽然sohu不大可能倒闭,但是我也想导出我所有的文章,备份在自己的数据库中.javaeye的blog系统提供了一个blog导入导出的功能,用起来很酷.其实你自己用ruby写一下也很简单,比如我要读取我的blog的RSS源: require 'rss/2.0'require 'open-uri'url = 'http://dennnis-zane.blog.sohu.com/rss'feed = RSS::Parser.parse(open(url).read, false) puts "=== 

Websphere Adapter中错误处理的原理与应用

错误处理机制简介 什么是错误绑定 在应用系统中,异常(Exception)是经常出现的.这些异常通常分为 2 类,一类是运行时异常(Runtime Exception),这类异常通常是因为代码缺陷造成的:另一类是业务逻辑异常 (Business Exception),这类异常通常是由于数据的不准确.不完善.应用系统无法处理造成的. 对于系统开发人员而言,运行时异常容易被捕获并进行相应的处理,处理的方式主要有忽略.包装后重新抛出.记录日志等.对于业务逻辑相关的异常,开发人员很难去分析和处理,最佳的

WebSphere Adapter客户定制的错误绑定

为什么要错误绑定 关于 WebSphere Adapter 错误绑定原理与应用,可以参加作者的另外一篇文章(链接如下:http://www.ibm.com/developerworks/cn /websphere/library/techarticles/0912_wuwei_adaptererror/),本文中,作者将简单的描述一下为什么客户需要错误绑定,WebSphere Adapter 目前所支持的错误绑定,客户定制的错误绑定的意义与实现方法. 错误绑定是 WebSphere Adapte

虚拟路径-websphere本地可以正常运行的系统,部署时出现404错误

问题描述 websphere本地可以正常运行的系统,部署时出现404错误 部署环境linux+was+db2项目名:udmp本地可以正常运行,应用服务器是一个集群,IP为103和104,部署后访问访问地址为http://X.X.X.105/um/udmp但是里面所有页面的跳转都会报404错误,错误地址如:http://X.X.X.105/udmp/meau/fullstandardcom.do?oper=tocomInfo&type=toadd服务器上还部署有以前的一些项目,获取路径的方式跟我的

WebSphere发布war包 访问JSP报403错误,访问HTM正常

问题描述 Struts2+Hibernate3+Spring的框架,在TOMCAT下面正常,打成war包发布上WebSphere后,访问jsp文件报403错误,而访问html文件却正常显示,不知道为什么.web.xml文件如下<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee&

求高手帮忙看看Websphere报错日志,是什么原因造成的错误,谢谢!

问题描述 [13-8-2710:47:05:078GMT+08:00]00002684SystemErrRjp.ne.so_net.ga2.no_ji.jcom.JComException:createInstance()failedHRESULT=0x80080005L[13-8-2710:47:05:078GMT+08:00]00002684SystemErrRatjp.ne.so_net.ga2.no_ji.jcom.IDispatch.create(IDispatch.java:84)[

websphere 安装错误

问题描述 在windows2003下安装websphere点安装就弹出如下所示界面---------------------------Install.exe-应用程序错误---------------------------应用程序发生异常unknownsoftwareexception(0xc0000005),位置为0x7d615072.要终止程序,请单击"确定".---------------------------确定---------------------------安装的

websphere 加载 spring 错误

问题描述 我部署应用程序成功后,启动时报如下错误,谁知道怎么解决??在tomcat上运行正常[08-10-3114:00:39:984CST]00000038CollectionFacIJDK1.4+collectionsavailable[08-10-3114:00:40:047CST]00000038CollectionFacICommonsCollections3.xavailable[08-10-3114:00:40:312CST]00000038XmlBeanDefiniILoadin