[
http://jira.jboss.com/jira/browse/JBSEAM-279?page=comments#action_12341510 ]
German de la Cruz commented on JBSEAM-279:
------------------------------------------
Same here...
I'm using seam from CVS (nightly build 20060816) myfaces 1.1.4-SNAPSHOT (Last from
apache maven snapshot repository) tomahawk 1.1.5-SNAPSHOT, facelets 1.1.11. I've
prepared a jboss (V. 4.0.4.GA) with myfaces 1.1.4-SNAPSHOT and EJB3-RC8
this is my stack. It seems it's always the seams try to destroy my Session scope SFSB.
It's not happend at the begginng but after 6 o 7 random iterations, SpecieFinder is a
EVENT scope SFSB.
2006-08-21 11:05:35,885 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
javax.faces.component.UIForm.org.apache.myfaces.HIDDEN_COMMAND_INPUTS_SET_dataTableForm
2006-08-21 11:05:35,885 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
org.apache.myfaces.renderkit.html.util.DummyFormUtils.DUMMY_FORM_INFO
2006-08-21 11:05:35,885 DEBUG [org.jboss.seam.contexts.Contexts] destroying: specieFinder
2006-08-21 11:05:35,885 DEBUG
[org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager] Attempting to
activate; id=3j001-9pn8nr-er4x00bx-1-er4x8zvv-2b
2006-08-21 11:05:35,885 DEBUG
[org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager] Reading session state
from:
/tmp/jboss4/default/tmp/sessions/SpecieFinderBean-er4x18nt-m/3j001-9pn8nr-er4x00bx-1-er4x8zvv-2b.ser
2006-08-21 11:05:35,886 ERROR [STDERR] javax.ejb.EJBNoSuchObjectException: Could not find
Stateful bean: 3j001-9pn8nr-er4x00bx-1-er4x8zvv-2b
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:266)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:59)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:81)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
2006-08-21 11:05:35,886 ERROR [STDERR] at $Proxy171.destroy(Unknown Source)
2006-08-21 11:05:35,886 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2006-08-21 11:05:35,886 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2006-08-21 11:05:35,886 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2006-08-21 11:05:35,886 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:585)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.seam.contexts.Contexts.callDestroyMethod(Contexts.java:211)
2006-08-21 11:05:35,886 ERROR [STDERR] at
org.jboss.seam.contexts.Contexts.destroy(Contexts.java:189)
2006-08-21 11:05:35,887 ERROR [STDERR] at
org.jboss.seam.contexts.Lifecycle.flushAndDestroyContexts(Lifecycle.java:302)
2006-08-21 11:05:35,887 ERROR [STDERR] at
org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:233)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:95)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
2006-08-21 11:05:35,889 ERROR [STDERR] at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
2006-08-21 11:05:35,889 ERROR [STDERR] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
2006-08-21 11:05:35,890 ERROR [STDERR] at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
2006-08-21 11:05:35,890 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
2006-08-21 11:05:35,890 WARN [org.jboss.seam.contexts.Contexts] Could not destroy
component: specieFinder
javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean:
3j001-9pn8nr-er4x00bx-1-er4x8zvv-2b
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 $Proxy171.destroy(Unknown Source)
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:13)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32)
at org.jboss.seam.contexts.Contexts.callDestroyMethod(Contexts.java:211)
at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:189)
at org.jboss.seam.contexts.Lifecycle.flushAndDestroyContexts(Lifecycle.java:302)
at org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:233)
at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:95)
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)
2006-08-21 11:05:35,894 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
org.apache.myfaces.AddResourceFactory.CACHE_MAP_KEY
2006-08-21 11:05:35,894 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
javax.faces.component.UIForm.org.apache.myfaces.HIDDEN_COMMAND_INPUTS_SET_searchForm
2006-08-21 11:05:35,897 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
org.apache.myfaces.component.html.util.ExtensionFilter.doFilterCalled
2006-08-21 11:05:35,897 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
facelets.Encoding
2006-08-21 11:05:35,897 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
org.apache.myfaces.SCROLL_HIDDEN_INPUT_dataTableForm
2006-08-21 11:05:35,897 DEBUG [org.jboss.seam.contexts.Contexts] destroying:
com.sun.facelets.legacy.ELCONTEXT
2006-08-21 11:05:35,898 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side
conversation context
2006-08-21 11:05:35,898 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End web
request
2006-08-21 11:05:35,898 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] No active
conversation context
2006-08-21 11:06:53,710 DEBUG [org.jboss.resource.connectionmanager.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