[jbossts-issues] [JBoss JIRA] (JBTM-972) LifecycleHandlers implemented via an EJB are invoked directly and not via the EJB stub

Paul Robinson (JIRA) jira-events at lists.jboss.org
Wed Jan 30 09:31:51 EST 2013


     [ https://issues.jboss.org/browse/JBTM-972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Robinson updated JBTM-972:
-------------------------------

    Assignee: Paul Robinson

    
> LifecycleHandlers implemented via an EJB are invoked directly and not via the EJB stub
> --------------------------------------------------------------------------------------
>
>                 Key: JBTM-972
>                 URL: https://issues.jboss.org/browse/JBTM-972
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: TXFramework
>    Affects Versions: 5.0.0.M1
>            Reporter: Paul Robinson
>            Assignee: Paul Robinson
>            Priority: Minor
>              Labels: TXFramework
>
> For a EJB service, the service method is invoked via the EJB stub. Notice the stack bellow:
> {code}
> http-localhost-127.0.0.1-8080-2 at 444 daemon, prio=5, in group 'main', status: 'runnable'
>   java.lang.Thread.State: RUNNABLE
> 	  at org.jboss.narayana.txframework.functional.services.ATService.invoke(ATService.java:69)
> 	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
> 	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	  at java.lang.reflect.Method.invoke(Method.java:597)
> 	  at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
> 	  at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> 	  at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)
> 	  at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(DelegatingInterceptorInvocationContext.java:80)
> 	  at org.jboss.narayana.txframework.impl.handlers.wsat.WSATHandler.proceed(WSATHandler.java:58)
> 	  at org.jboss.narayana.txframework.impl.ServiceRequestInterceptor.intercept(ServiceRequestInterceptor.java:23)	
> {code}
> However, when the lifecycle methods are invoked, they are invoked directly. Notice the missing org.jboss calls bellow the sun.reflect calls in the stacktrace bellow:
> {code}
> TaskWorker-4 at 504 daemon, prio=5, in group 'default-workqueue', status: 'runnable'
>   java.lang.Thread.State: RUNNABLE
> 	  at org.jboss.narayana.txframework.functional.services.ATService.commit(ATService.java:110)
> 	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
> 	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	  at java.lang.reflect.Method.invoke(Method.java:597)
> 	  at org.jboss.narayana.txframework.impl.Participant.invoke(Participant.java:53)
> 	  at org.jboss.narayana.txframework.impl.handlers.wsat.WSATDurable2PCParticipant.commit(WSATDurable2PCParticipant.java:18)
> {code}
> This is likely to cause a problem as the EJB instance may be destroyed, or re-used when the lifecycle method is invoked.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbossts-issues mailing list