[
http://jira.jboss.com/jira/browse/EJBTHREE-1361?page=all ]
Brian Stansberry updated EJBTHREE-1361:
---------------------------------------
Description:
The way lifecycle callbacks (e.g. PostReplicate, PostActivate) are invoked has changed
from 4.x, with the result that StatefulBeanContext.extractBeanAndInterceptors() isn't
always called before an attempt 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@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.
was:
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@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.
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, with the result that StatefulBeanContext.extractBeanAndInterceptors() isn't
always called before an attempt 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@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