[esb-issues] [JBoss JIRA] Commented: (JBESB-3201) javax.jms.IllegalStateException thrown when invoking proxied service with SyncServiceInvoker

Kevin Conner (JIRA) jira-events at lists.jboss.org
Wed Oct 6 08:39:40 EDT 2010


    [ https://jira.jboss.org/browse/JBESB-3201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555580#action_12555580 ] 

Kevin Conner commented on JBESB-3201:
-------------------------------------

This has raised a number of issues and will be changed to a blocker.

- Reuse of the XASessions are not tracked correctly, leading to the possibility that the sessions can be returned to the pool more than once and potentially cause conflicts from different threads.
- The pool is tracking the XA sessions using Session.SESSION_TRANSACTED but this is a valid acknowledge mode which is unrelated to the transactional context.
- The message producers and consumers should protect against use after a session has been returned to the pool.


> javax.jms.IllegalStateException thrown when invoking proxied service with SyncServiceInvoker
> --------------------------------------------------------------------------------------------
>
>                 Key: JBESB-3201
>                 URL: https://jira.jboss.org/browse/JBESB-3201
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rosetta
>    Affects Versions: 4.7
>            Reporter: Boris Belovic
>            Assignee: Magesh Bojan
>             Fix For: 4.9 CP1
>
>         Attachments: ssi.tar.bz2
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the esb-issues mailing list