[JBoss JIRA] Created: (EJBTHREE-1355) ProxiedStatefulBeanContext cannot be deserialized
by Brian Stansberry (JIRA)
ProxiedStatefulBeanContext cannot be deserialized
-------------------------------------------------
Key: EJBTHREE-1355
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1355
Project: EJB 3.0
Issue Type: Bug
Components: core
Affects Versions: AS 5.0.0.Beta4
Reporter: Brian Stansberry
Fix For: AS 5.0.0.CR1
ProxiedStatefulBeanContext implements Externalizable but has no no-arg constructor, so readExternal() doesn't work.
It can't just implement Serializable because its superclass doesn't expose an appropriate constructor.
Looks like some refactoring of serialization of these classes was done last summer but got dropped mid way in favor of the complete rewrite (EJBTHREE-1026). Since EJBTHREE-1026 is deferred to 5.1.0, we need to get the old way working.
--
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
18 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-1361) Ensure SFSB interceptors are deserialized before invoking callbacks
by Brian Stansberry (JIRA)
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@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
18 years, 2 months