1
votes

I'm getting a javax.transaction.NotSupportedException: Subtransactions not supported exception when invoking UsertTransaction.begin ().

I have a Java web service deployed on WAS 8. I have an operation that updates a table in Oracle then sends a message via MQ. My transaction boundary (begin/commit) is defined around the operations update and send. The operation will work fine a few times (same request payload) then eventually I get the exception above.

I use Spring 3 to do a JNDI lookup for a WAS UserTransaction, a WAS config'd ConnectionFactory and my one and only datasource which is XA enabled.

 <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"/>

The UserTransaction is @Autowired into my app doing the begin, commit, and rollback. The datasource is @Autowired into a DAO factory. The injected datasource is then passed to the DAO on creation. The ConnectionFactory is injected along with the queue name to a bean that handles all the MQ stuff. Here's how I'm sending a message:

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);

I'm not calling commit, setCommit, or rollback on the datasource connection anywhere. Would anyone know what's causing these "Subtransactions" or why I would be getting that exception?

UPDATE:

        [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)
1
Posting the full stacktrace would probably be helpful.Gergely Bacso
This answer from dW might help.Haxiel
@XSurgent I saw that post. I'm not mixing up Spring and Websphere Transaction implementations...so my issue was different.AR3Y35

1 Answers

0
votes

I discovered there was "maintenance" needed on the DB. After the DB patch my issue disappeared. I'm not sure what happened. I can't recreate the error anymore.

Here's my suspicion: I know there's a mechanism to retry a request buried in our code generated projects for webservices. On the original request I get a exception on the DB layer. I would expect Websphere's Transaction would rollback anything and clean up. But that didn't happen. So when the automatic "retry" kicked in the original transaction still active was seen as the Subtransaction.

Just in case, I refactored to catch a RuntimeException around my transaction and explicitly rolled back.