[jboss-jira] [JBoss JIRA] Commented: (JBSEAM-279) Component lifetimes not guaranteed for SFSB backed components.

German de la Cruz (JIRA) jira-events at jboss.com
Mon Aug 21 12:39:44 EDT 2006


    [ http://jira.jboss.com/jira/browse/JBSEAM-279?page=comments#action_12341522 ] 
            
German de la Cruz commented on JBSEAM-279:
------------------------------------------

Same with lastest nightly build (20060821)


13:20:00,566 DEBUG [Contexts] destroying: org.apache.myfaces.renderkit.html.util.DummyFormUtils.DUMMY_FORM_INFO
13:20:00,567 DEBUG [Contexts] destroying: specieFinder
13:20:00,567 DEBUG [StatefulSessionFilePersistenceManager] Attempting to activate; id=3j001-60w7lw-er51brl5-1-er521wug-2z
13:20:00,567 DEBUG [StatefulSessionFilePersistenceManager] Reading session state from: /tmp/jboss4/default/tmp/sessions/SpecieFinderBean-er51ohbw-24/3j001-60w7lw-er51brl5-1-er521wug-2z.ser
13:20:00,568 ERROR [STDERR] javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean: 3j001-60w7lw-er51brl5-1-er521wug-2z
13:20:00,569 ERROR [STDERR]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:266)
13:20:00,569 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:59)
13:20:00,569 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:20:00,569 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:81)
13:20:00,569 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:20:00,569 ERROR [STDERR]     at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
13:20:00,570 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:20:00,570 ERROR [STDERR]     at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
13:20:00,570 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:20:00,570 ERROR [STDERR]     at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
13:20:00,570 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:20:00,570 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
13:20:00,570 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
13:20:00,570 ERROR [STDERR]     at $Proxy429.destroy(Unknown Source)
13:20:00,571 ERROR [STDERR]     at manchot.actions.SpecieFinder$$FastClassByCGLIB$$7265d8d8.invoke(<generated>)
13:20:00,571 ERROR [STDERR]     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
13:20:00,571 ERROR [STDERR]     at org.jboss.seam.interceptors.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:73)
13:20:00,571 ERROR [STDERR]     at org.jboss.seam.ejb.SeamInterceptor.invokeInContexts(SeamInterceptor.java:177)
13:20:00,571 ERROR [STDERR]     at org.jboss.seam.ejb.SeamInterceptor.invoke(SeamInterceptor.java:143)
13:20:00,571 ERROR [STDERR]     at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:130)
13:20:00,571 ERROR [STDERR]     at org.jboss.seam.interceptors.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:44)
13:20:00,572 ERROR [STDERR]     at org.jboss.seam.interceptors.ClientSideInterceptor.intercept(ClientSideInterceptor.java:38)
13:20:00,572 ERROR [STDERR]     at manchot.actions.SpecieFinder$$EnhancerByCGLIB$$bce1eb41.destroy(<generated>)
13:20:00,572 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
13:20:00,572 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
13:20:00,572 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
13:20:00,572 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
13:20:00,572 ERROR [STDERR]     at org.jboss.seam.util.Reflections.invoke(Reflections.java:17)
13:20:00,572 ERROR [STDERR]     at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:82)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.Component.callComponentMethod(Component.java:1476)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.Component.callDestroyMethod(Component.java:1464)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:189)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.contexts.Lifecycle.flushAndDestroyContexts(Lifecycle.java:638)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:492)
13:20:00,573 ERROR [STDERR]     at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:112)
13:20:00,573 ERROR [STDERR]     at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
13:20:00,573 ERROR [STDERR]     at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
13:20:00,574 ERROR [STDERR]     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
13:20:00,574 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
13:20:00,574 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:20:00,574 ERROR [STDERR]     at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
13:20:00,574 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
13:20:00,574 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:20:00,574 ERROR [STDERR]     at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:20:00,575 ERROR [STDERR]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
13:20:00,575 ERROR [STDERR]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
13:20:00,575 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
13:20:00,576 ERROR [STDERR]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
13:20:00,576 ERROR [STDERR]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
13:20:00,576 ERROR [STDERR]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
13:20:00,576 ERROR [STDERR]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
13:20:00,576 ERROR [STDERR]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
13:20:00,576 ERROR [STDERR]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
13:20:00,576 ERROR [STDERR]     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
13:20:00,576 ERROR [STDERR]     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
13:20:00,577 ERROR [STDERR]     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
13:20:00,577 ERROR [STDERR]     at java.lang.Thread.run(Thread.java:595)
13:20:00,577 WARN  [Contexts] Could not destroy component: specieFinder
javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean: 3j001-60w7lw-er51brl5-1-er521wug-2z
        at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:266)
        at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:59)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:81)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
        at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
        at $Proxy429.destroy(Unknown Source)
        at manchot.actions.SpecieFinder$$FastClassByCGLIB$$7265d8d8.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
        at org.jboss.seam.interceptors.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:73)
        at org.jboss.seam.ejb.SeamInterceptor.invokeInContexts(SeamInterceptor.java:177)
        at org.jboss.seam.ejb.SeamInterceptor.invoke(SeamInterceptor.java:143)
        at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:130)
        at org.jboss.seam.interceptors.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:44)
        at org.jboss.seam.interceptors.ClientSideInterceptor.intercept(ClientSideInterceptor.java:38)
        at manchot.actions.SpecieFinder$$EnhancerByCGLIB$$bce1eb41.destroy(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:17)
        at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:82)
        at org.jboss.seam.Component.callComponentMethod(Component.java:1476)
        at org.jboss.seam.Component.callDestroyMethod(Component.java:1464)
        at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:189)
        at org.jboss.seam.contexts.Lifecycle.flushAndDestroyContexts(Lifecycle.java:638)
        at org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:492)
        at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:112)
        at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Thread.java:595)
13:20:00,581 DEBUG [Contexts] destroying: org.apache.myfaces.application.jsp.JspStateManagerImpl.SERIALIZED_VIEW
13:20:00,581 DEBUG [Contexts] destroying: org.apache.myfaces.AddResourceFactory.CACHE_MAP_KEY
13:20:00,581 DEBUG [Contexts] destroying: javax.faces.component.UIForm.org.apache.myfaces.HIDDEN_COMMAND_INPUTS_SET_searchForm
13:20:00,581 DEBUG [Contexts] destroying: org.apache.myfaces.component.html.util.ExtensionFilter.doFilterCalled
13:20:00,581 DEBUG [Contexts] destroying: facelets.Encoding
13:20:00,581 DEBUG [Contexts] destroying: org.apache.myfaces.SCROLL_HIDDEN_INPUT_dataTableForm
13:20:00,581 DEBUG [Contexts] destroying: com.sun.facelets.legacy.ELCONTEXT
13:20:00,581 DEBUG [Lifecycle] destroying conversation context
13:20:00,582 DEBUG [Contexts] destroying: facesMessages
13:20:00,582 DEBUG [Contexts] destroying: breedEditor
13:20:00,582 DEBUG [ExtendedPersistenceContextPropagationInterceptor] ++++ LongLivedSessionPropagationInterceptor
13:20:00,582 DEBUG [Contexts] destroying: conversation
13:20:00,583 DEBUG [Lifecycle] flushing server-side conversation context
13:20:00,583 DEBUG [Lifecycle] <<< End web request
13:20:00,583 DEBUG [AbstractSeamPhaseListener] No active conversation context
13:21:01,125 DEBUG [Lifecycle] >>> Begin call
13:21:01,126 DEBUG [Lifecycle] destroying event context
13:21:01,126 DEBUG [Component] instantiating Seam component: org.jboss.seam.core.manager
13:21:01,126 DEBUG [Component] initializing new instance of: org.jboss.seam.core.manager
13:21:01,126 DEBUG [Lifecycle] destroying conversation context
13:21:01,126 DEBUG [Lifecycle] flushing server-side conversation context
13:21:01,126 DEBUG [Lifecycle] <<< End call
13:23:02,075 DEBUG [IdleRemover] run: IdleRemover notifying pools, interval: 450000


> Component lifetimes not guaranteed for SFSB backed components.
> --------------------------------------------------------------
>
>                 Key: JBSEAM-279
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-279
>             Project: JBoss Seam
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.1
>            Reporter: ryan dewell
>
> Seam does not guarantee component lifecycles for SFSB backed components.  
> The container controls when SFSB's are removed / timed out.  When Seam accesses an SFSB that has been removed by the container, it results in an EJBNoSuchObjectException.
> The JBoss specific workaround for Session scoped components is to use the @CacheConfig annotation, setting the idle timeout to match the HttpSession timeout.  Similar changes would have to be made to any Conversation scoped component that uses a timeout greater than the default SFSB timeout of 5 minutes (which just happens to be the default timeout for Seam conversations).
> There is no workaround for Application scoped components.  Once removed by the container, EJBNoSuchObjectException's will continue to be thrown as Seam tries to access them.
> Seam's context model needs to somehow guarantee that its SFSB instances aren't removed by the container before Seam is finished with them.  And/or, it needs to recover from EJBNoSuchObjectException's more gracefully, especially with regards to Application scoped components for which there is no workaround.

-- 
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