-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Blocker
-
Resolution: Done
-
Affects Version/s: 4.7
-
Fix Version/s: 4.9 CP1
-
Component/s: Rosetta
-
Labels:None
java.lang.reflect.UndeclaredThrowableException (with javax.jms.IllegalStateException as cause) was thrown when invoking service with SyncServiceInvoker action. SyncServiceInvoker action was configured with suspendTransaction property set to true.
The exception happens when service C is called from service A, both services have transacted attribute set to true in their jms-listener configuration. The exception disappears when transacted attribute is removed (commented out) from service C's jms-listener configuration.
The exception stacktrace follows:
java.lang.reflect.UndeclaredThrowableException
at $Proxy246.getXAResource(Unknown Source)
at org.jboss.internal.soa.esb.rosetta.pooling.JmsXASession.associate(JmsXASession.java:172)
at org.jboss.internal.soa.esb.rosetta.pooling.JmsXASession$AssociationHandler.invoke(JmsXASession.java:244)
at $Proxy243.close(Unknown Source)
at sun.reflect.GeneratedMethodAccessor511.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.internal.soa.esb.rosetta.pooling.JmsSession$ExceptionHandler.invoke(JmsSession.java:479)
at $Proxy243.close(Unknown Source)
at org.jboss.internal.soa.esb.couriers.JmsCourier.cleanup(JmsCourier.java:115)
at org.jboss.soa.esb.couriers.CourierUtil.cleanCourier(CourierUtil.java:242)
at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.cleanup(TwoWayCourierImpl.java:237)
at org.jboss.soa.esb.couriers.CourierUtil.cleanCourier(CourierUtil.java:242)
at org.jboss.soa.esb.listeners.message.MessageAwareListener.cleanCourier(MessageAwareListener.java:507)
at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:344)
at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:253)
at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jms.IllegalStateException: The object is closed
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:157)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.jms.client.delegate.ClientSessionDelegate$getXAResource_5045584642641131496.invokeNext(ClientSessionDelegate$getXAResource_5045584642641131496.java)
at org.jboss.jms.client.delegate.ClientSessionDelegate.getXAResource(ClientSessionDelegate.java)
at org.jboss.jms.client.JBossSession.getXAResource(JBossSession.java:389)
at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.internal.soa.esb.rosetta.pooling.JmsSession$ExceptionHandler.invoke(JmsSession.java:479)
Standalone example for reproducing is attached, the archive with example also contains log from server.
- relates to
-
SOA-1983 javax.jms.IllegalStateException thrown when invoking proxied service with SyncServiceInvoker
-
- Closed
-