javax.transaction.NotSupportedException:子事务不支持,UserTransacti



我得到一个javax.transaction。NotSupportedException:调用UsertTransaction时不支持Subtransactions 异常。开始().

我在WAS 8上部署了一个Java web服务。我有一个在Oracle中更新表的操作,然后通过MQ发送消息。我的事务边界(begin/commit)是围绕update和send操作定义的。操作将正常工作几次(相同的请求负载),然后最终我得到上面的异常。

我使用Spring 3对WAS UserTransaction, WAS配置的ConnectionFactory和我唯一启用XA的数据源进行JNDI查找。

 <jee:jndi-lookup id="DatasourceXA" jndi-name="${jdbc.datasource.xa.oracle.jndi.name}" proxy-interface="javax.sql.DataSource" />
 <jee:jndi-lookup id="UserTransaction" jndi-name="java:comp/UserTransaction" proxy-interface="javax.transaction.UserTransaction" />
 <jee:jndi-lookup id="ConnectionFactory" jndi-name="${jms.connectionfactory.jndi.name}" proxy-interface="javax.jms.ConnectionFactory"/>

UserTransaction是@Autowired到我的应用程序做开始,提交和回滚。数据源是@Autowired到DAO工厂的。然后在创建时将注入的数据源传递给DAO。ConnectionFactory与队列名称一起注入到处理所有MQ内容的bean中。我是这样发送消息的:

Connection conn = connectionFactory.createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(queueName);
MessageProducer prod = session.createProducer(destination);
msg = session.createTextMessage(xml);
prod.send(msg);

我没有在任何地方调用数据源连接上的commit, setCommit或rollback。有人知道是什么导致了这些"子交易"或者为什么我会得到这个异常吗?

更新:

        [10/10/16 10:06:07:557 PDT] 00000087 SystemErr     R javax.transaction.NotSupportedException: Subtransactions not supported
[10/10/16 10:06:07:558 PDT] 00000087 SystemErr     R    at com.ibm.ws.tx.jta.UserTransactionImpl.begin(UserTransactionImpl.java:163)
[10/10/16 10:06:07:559 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:559 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:559 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:559 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:559 PDT] 00000087 SystemErr     R    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
[10/10/16 10:06:07:560 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
[10/10/16 10:06:07:560 PDT] 00000087 SystemErr     R    at com.sun.proxy.$Proxy56.begin(Unknown Source)
[10/10/16 10:06:07:560 PDT] 00000087 SystemErr     R    at com.costco.sc.creditrebatepayment.CreditRebatePaymentComponentImpl.authorize(CreditRebatePaymentComponentImpl.java:86)
[10/10/16 10:06:07:560 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:561 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:561 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:561 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:561 PDT] 00000087 SystemErr     R    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
[10/10/16 10:06:07:561 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
[10/10/16 10:06:07:562 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
[10/10/16 10:06:07:562 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
[10/10/16 10:06:07:562 PDT] 00000087 SystemErr     R    at com.costco.sc.aop.intercepter.RetryIntercepter.aspectJInvoke(RetryIntercepter.java:117)
[10/10/16 10:06:07:562 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:563 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:563 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:563 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:563 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
[10/10/16 10:06:07:563 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
[10/10/16 10:06:07:564 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
[10/10/16 10:06:07:564 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
[10/10/16 10:06:07:564 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
[10/10/16 10:06:07:564 PDT] 00000087 SystemErr     R    at com.costco.sc.aop.intercepter.ExceptionTranslatingIntercepter.aspectJInvoke(ExceptionTranslatingIntercepter.java:192)
[10/10/16 10:06:07:564 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:565 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:565 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:565 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:565 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
[10/10/16 10:06:07:565 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
[10/10/16 10:06:07:566 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
[10/10/16 10:06:07:566 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
[10/10/16 10:06:07:566 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
[10/10/16 10:06:07:566 PDT] 00000087 SystemErr     R    at com.costco.sc.aop.intercepter.ServiceOperationContextIntercepter.aspectJInvoke(ServiceOperationContextIntercepter.java:148)
[10/10/16 10:06:07:567 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:567 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:567 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:567 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:567 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
[10/10/16 10:06:07:568 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
[10/10/16 10:06:07:568 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
[10/10/16 10:06:07:568 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
[10/10/16 10:06:07:568 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
[10/10/16 10:06:07:568 PDT] 00000087 SystemErr     R    at com.costco.sc.aop.intercepter.OperationLoggingIntercepter.aspectJInvoke(OperationLoggingIntercepter.java:234)
[10/10/16 10:06:07:569 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:569 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:569 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:569 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:570 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
[10/10/16 10:06:07:570 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
[10/10/16 10:06:07:570 PDT] 00000087 SystemErr     R    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
[10/10/16 10:06:07:570 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
[10/10/16 10:06:07:570 PDT] 00000087 SystemErr     R    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
[10/10/16 10:06:07:571 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
[10/10/16 10:06:07:571 PDT] 00000087 SystemErr     R    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
[10/10/16 10:06:07:571 PDT] 00000087 SystemErr     R    at com.sun.proxy.$Proxy67.authorize(Unknown Source)
[10/10/16 10:06:07:571 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:572 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:572 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:572 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:572 PDT] 00000087 SystemErr     R    at com.costco.util.spring.LazyInitProxy$LazyInitInvocationHandler.invoke(LazyInitProxy.java:440)
[10/10/16 10:06:07:573 PDT] 00000087 SystemErr     R    at com.sun.proxy.$Proxy68.authorize(Unknown Source)
[10/10/16 10:06:07:573 PDT] 00000087 SystemErr     R    at com.costco.sc.creditrebatepayment.endpoint.ws.JaxWsCreditRebatePaymentEndpoint.authorize(JaxWsCreditRebatePaymentEndpoint.java:53)
[10/10/16 10:06:07:573 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[10/10/16 10:06:07:573 PDT] 00000087 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
[10/10/16 10:06:07:573 PDT] 00000087 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[10/10/16 10:06:07:574 PDT] 00000087 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:613)
[10/10/16 10:06:07:574 PDT] 00000087 SystemErr     R    at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:120)
[10/10/16 10:06:07:574 PDT] 00000087 SystemErr     R    at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:118)
[10/10/16 10:06:07:575 PDT] 00000087 SystemErr     R    at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
[10/10/16 10:06:07:575 PDT] 00000087 SystemErr     R    at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
[10/10/16 10:06:07:575 PDT] 00000087 SystemErr     R    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:212)
[10/10/16 10:06:07:575 PDT] 00000087 SystemErr     R    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
[10/10/16 10:06:07:575 PDT] 00000087 SystemErr     R    at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1632)
[10/10/16 10:06:07:576 PDT] 00000087 SystemErr     R    at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
[10/10/16 10:06:07:576 PDT] 00000087 SystemErr     R    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
[10/10/16 10:06:07:576 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
[10/10/16 10:06:07:576 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
[10/10/16 10:06:07:577 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
[10/10/16 10:06:07:577 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
[10/10/16 10:06:07:577 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
[10/10/16 10:06:07:577 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
[10/10/16 10:06:07:577 PDT] 00000087 SystemErr     R    at com.costco.sc.ServiceContextFilter.doFilter(ServiceContextFilter.java:102)
[10/10/16 10:06:07:578 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[10/10/16 10:06:07:578 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[10/10/16 10:06:07:578 PDT] 00000087 SystemErr     R    at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
[10/10/16 10:06:07:578 PDT] 00000087 SystemErr     R    at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
[10/10/16 10:06:07:579 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[10/10/16 10:06:07:579 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[10/10/16 10:06:07:579 PDT] 00000087 SystemErr     R    at com.costco.sc.util.OutputFilter.doFilter(OutputFilter.java:42)
[10/10/16 10:06:07:579 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[10/10/16 10:06:07:579 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[10/10/16 10:06:07:580 PDT] 00000087 SystemErr     R    at com.costco.sc.util.javamelody.SystemActionsFilter.doFilter(SystemActionsFilter.java:58)
[10/10/16 10:06:07:580 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[10/10/16 10:06:07:580 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[10/10/16 10:06:07:580 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
[10/10/16 10:06:07:580 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
[10/10/16 10:06:07:581 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3928)
[10/10/16 10:06:07:581 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
[10/10/16 10:06:07:581 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007)
[10/10/16 10:06:07:581 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
[10/10/16 10:06:07:581 PDT] 00000087 SystemErr     R    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[10/10/16 10:06:07:582 PDT] 00000087 SystemErr     R    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[10/10/16 10:06:07:583 PDT] 00000087 SystemErr     R    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[10/10/16 10:06:07:583 PDT] 00000087 SystemErr     R    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[10/10/16 10:06:07:583 PDT] 00000087 SystemErr     R    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[10/10/16 10:06:07:583 PDT] 00000087 SystemErr     R    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)

我发现需要对数据库进行"维护"。在DB补丁之后,我的问题消失了。我不确定发生了什么。我不能再重现错误了。

这是我的猜测:我知道有一种机制可以重试隐藏在我们为webservices生成的项目代码中的请求。在原始请求上,我在DB层上得到一个异常。我希望Websphere的事务能够回滚所有内容并进行清理。但这并没有发生。因此,当自动"重试"启动时,仍处于活动状态的原始事务被视为子事务。

为了以防万一,我进行了重构,以捕获事务周围的RuntimeException并显式回滚。

最新更新