[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-746) injection of clustered SFSB fails during activation
Brian Stansberry (JIRA)
jira-events at jboss.com
Sat Oct 28 00:58:42 EDT 2006
[ http://jira.jboss.com/jira/browse/EJBTHREE-746?page=comments#action_12345937 ]
Brian Stansberry commented on EJBTHREE-746:
-------------------------------------------
Here's what's happening:
1) initial passivation
2) listener calls get() on cache so it can call prepassivate on the bean -- get() call adds event to eviction queue
3) evict thread runs again
4) event in queue from #2 causes another attempt to evict fqn
5) passivation interceptor -- no node in memory, but notification is still issued
6) listener again issues a get(Fqn) (as in #2)
7) get() hits activation interceptor -- node gets activated into memory, removed from persistent store
8) eviction call continues down interceptor chain from passivation interceptor, hits cache and evicts the node from memory -- now gone from memory and persistent store
Couple things need to happen:
a) in #2 above we want to avoid adding an event to the queue. This can be done in 1.4 with a peek() call; in 2.0 with Option.setBypassInterceptorChain(). This is a change I'll make in the EJB3 code, unless I can think of a better way.
b) in #5 we want to not send a notification if the node wasn't in memory. This is a JBC change. I don't think this is doable in 1.4, but it can be done in 2.0.
> injection of clustered SFSB fails during activation
> ---------------------------------------------------
>
> Key: EJBTHREE-746
> URL: http://jira.jboss.com/jira/browse/EJBTHREE-746
> Project: EJB 3.0
> Issue Type: Bug
> Affects Versions: EJB 3.0 RC9 - FD
> Reporter: William DeCoste
> Assigned To: Brian Stansberry
>
> Injecting clustered SFSB fails during activation:
> 14:57:42,237 ERROR [STDERR] javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean: 4sg3a33-etojrw-eszuinl5-1-et4t44tc-1t
> 14:57:42,237 ERROR [STDERR] at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:268)
> 14:57:42,237 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
> 14:57:42,237 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,237 ERROR [STDERR] at org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:167)
> 14:57:42,237 ERROR [STDERR] at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:108)
> 14:57:42,237 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:86)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:203)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
> 14:57:42,253 ERROR [STDERR] at $Proxy913.initialize(I)V(Unknown Source)
> 14:57:42,253 ERROR [STDERR] at com.insight.xvs.ejb.logic.NightlyDeterminationServiceEjb.performNightlyDetermination(NightlyDeterminationServiceEjb.java:75)
> 14:57:42,253 ERROR [STDERR] at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
> 14:57:42,253 ERROR [STDERR] at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:116)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
> 14:57:42,253 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
--
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