[jboss-jira] [JBoss JIRA] Created: (EJBTHREE-1361) Ensure SFSB interceptors are deserialized before invoking callbacks
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Wed May 14 15:42:53 EDT 2008
Ensure SFSB interceptors are deserialized before invoking callbacks
-------------------------------------------------------------------
Key: EJBTHREE-1361
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1361
Project: EJB 3.0
Issue Type: Bug
Components: core
Affects Versions: AS 5.0.0.Beta4
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: AS 5.0.0.CR1
The way lifecycle callbacks (e.g. PostReplicate, PostActivate) are invoked has changed from 4.x, which the result that StatefulBeanContext.extractBeanAndInterceptors() isn't always called before an attempts is made to invoke the callbacks. Result is failures like this:
java.lang.IllegalArgumentException: No interceptor found for class org.jboss.ejb3.test.ejbthree921.ExplicitFailoverInterceptor in org.jboss.ejb3.stateful.StatefulBeanContext at 363d37
at org.jboss.ejb3.BaseContext.getInterceptor(BaseContext.java:146)
at org.jboss.ejb3.interceptors.aop.LifecycleCallbacks.createLifecycleCallbackInterceptors(LifecycleCallbacks.java:56)
at org.jboss.ejb3.EJBContainer.invokeCallback(EJBContainer.java:1021)
at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:560)
at org.jboss.ejb3.stateful.StatefulBeanContext.postReplicate(StatefulBeanContext.java:586)
at org.jboss.ejb3.cache.tree.StatefulTreeCache.get(StatefulTreeCache.java:198)
at org.jboss.ejb3.cache.tree.StatefulTreeCache.get(StatefulTreeCache.java:163)
at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:59)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:157)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:485)
at org.jboss.ejb3.session.ClassProxyHack._dynamicInvoke(ClassProxyHack.java:52)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:850)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:727)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:672)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:495)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:207)
Fix is to ensure extractBeanAndInterceptors() is called before asking the container to invoke the callbacks.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list