项目已经上线,昨天客户发现一个问题,某个操作取消不了,查看一下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语句。
分享到:
相关推荐
很全的IBM WebSphere MQ 错误码大全
很详细的 websphere MQ错误代码 包括了最常见的所有错误 websphere MQ错误代码
WebSphere Application Server 启动错误诊断 在本文中,我们将详细介绍 WebSphere Application Server(WAS)启动错误的诊断方法。WAS 是一个复杂的应用服务器,启动过程中可能会出现各种错误,影响服务器的正常...
在启动WebSphere服务器时,如果出现以下错误信息: ``` ADMU0118E: 日至文件无法写到位置/opt/WebSphere/AppServer/logs/server1/startServer.log ``` 可以使用-logfile参数指定不同的日志文件路径。例如: ``` ...
日志目录位于 `/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1`,这是WebSphere记录系统运行状态、事件、错误和其他诊断信息的地方。日志文件包含的信息对于故障排查、性能调优和安全审计都极其重要...
Websphere 6.1 资料集涵盖了关于IBM的Websphere Application Server (WAS) 6.1版本的全面知识,包括安装、配置和实用操作等多个方面。Websphere是IBM提供的一个强大的企业级Java应用服务器,用于部署和管理基于Java...
7. **错误处理和异常捕获**:WebSphere对异常处理有自己的规则,确保CXF的服务异常能够正确地被WebSphere捕捉并处理。 8. **性能优化**:根据应用的需求,可能需要调整CXF和WebSphere的性能设置,例如线程池大小、...
【标题】:Websphere 8.5安装 在IT领域,WebSphere是IBM提供的一款企业级应用服务器,常用于构建、部署和管理各种企业应用程序。本文将详细讲解WebSphere 8.5的安装过程,包括IBM Installation Manager的安装、...
WebSphere是IBM开发的一款强大的企业级应用服务器,它在IT行业内扮演着至关重要的角色,尤其在企业级Java应用程序的部署和管理方面。本实验报告基于吉林大学的WebSphere课程,涵盖了八次实验的内容,旨在帮助学生...
### WebSphere设计与LDAP集成深度解析 #### 一、引言:目录服务与WebSphere的关系 WebSphere作为IBM的一款企业级应用服务器,提供了强大的中间件功能,包括事务处理、消息传递、安全性和集群管理等,旨在帮助企业...
- 查看WebSphere的日志文件以获取详细错误信息。 #### 总结 通过在Linux中配置cron任务,可以轻松实现WebSphere服务的定期重启,这有助于提高系统的稳定性和可用性。此外,cron还提供了强大的调度功能,可以根据...
/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM...
理解错误代码含义,定位问题源头,能够快速有效地解决运行中遇到的问题。 九、WebSphere与云平台的整合 随着云计算的发展,WebSphere也支持在云端部署和管理。了解如何将WebSphere与IBM Cloud或其他公有云平台集成...
### WebSphere如何打补丁 #### 一、概述 在IT行业中,中间件如IBM WebSphere Application Server (WAS)的稳定性和安全性至关重要。为了确保系统能够正常运行并避免潜在的安全漏洞,定期更新和打补丁是必不可少的...
【IBM WebSphere MQ安装包详解】 IBM WebSphere MQ,前身为IBM MQSeries,是IBM公司推出的一款企业级的消息中间件产品。它在信息技术领域扮演着至关重要的角色,为跨网络、操作系统和应用程序提供了高效、安全的...
5. 部署应用前,需要确保MyEclipse项目是J2EE兼容的,否则可能会出现部署错误。 完成上述配置后,用户可以在MyEclipse中直接对Websphere6.1进行应用的部署、调试和管理,大大简化了开发流程。但在实际操作中,可能...
- **日志分析**:定期检查系统日志和应用日志,寻找异常记录或错误信息,预判潜在问题。 - **资源使用监控**:数据库连接、文件系统I/O等资源的使用情况,防止资源耗尽引发系统崩溃。 #### 故障排除 - **快速响应...
在 WebSphere 安装完毕并创建了一个可用的概要文件之后,必须根据实际情况进行必要参数的调整,以便提高 WAS 性能、方便错误诊断。以下是对应用程序服务器的一些重要参数的调整建议: 1. Java 虚拟机堆大小(JVM ...
WebSphere是IBM提供的一款强大的企业级应用程序服务器,它在IT行业中扮演着至关重要的角色,尤其在构建、部署和管理企业级Web应用程序方面。WebSphere作为IBM的中间件产品,是其软件栈的核心部分,旨在帮助企业实现...