0 Replies Latest reply on Nov 8, 2006 9:12 AM by Serg Prasolov

    http session timeout - exception

    Serg Prasolov Newbie

      Hi!

      Struggling with the CannotFindBeanException (something like that) that occured when the http session was more than SFSB life time, I found a place where I can set @CacheConfig annotation one time for the whole project. Now my SFSB lives longer than http session.

      But now another problem arises. I set http session timeout to 60 (minutes). Below is a stacktrace which I have:

      12:45:38,454 ...
      13:46:03,654 WARN [Contexts] Could not destroy component: clientEditorClient
      java.lang.IllegalStateException: No conversation context active
       at org.jboss.seam.ScopeType.getContext(ScopeType.java:111)
       at org.jboss.seam.interceptors.RemoveInterceptor.remove(RemoveInterceptor.java:77)
       at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:56)
       at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:43)
       at sun.reflect.GeneratedMethodAccessor170.invoke(Unknown Source)
       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:35)
       at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:343)
       at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
       at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:28)
       at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source)
       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:35)
       at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:343)
       at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
       at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:287)
       at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:257)
       at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:203)
       at org.jboss.seam.intercept.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:77)
       at org.jboss.seam.intercept.ClientSideInterceptor.intercept(ClientSideInterceptor.java:47)
       at qwerty.actions.client.ClientEditorClient$$EnhancerByCGLIB$$38007b16.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:35)
       at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:203)
       at org.jboss.seam.Component.callComponentMethod(Component.java:1731)
       at org.jboss.seam.Component.callDestroyMethod(Component.java:1687)
       at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:371)
       at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:220)
       at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:89)
       at org.apache.catalina.session.StandardSession.expire(StandardSession.java:687)
       at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:579)
       at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:678)
       at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:663)
       at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1284)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
       at java.lang.Thread.run(Thread.java:595)


      I suspect there is nothing to do with my code, but here it is:

      @Stateful
      @Name("clientEditorClient")
      public class ClientEditorClientBean implements ClientEditorClient {
      
       @Logger
       private Log log;
      
      ...
       @Destroy
       @Remove
       public void destroy()
       {
       log.info("ClientEditorClientBean is destroyed and removed");
       }
      }
      
      
      @Local
      public interface ClientEditorClient {...}


      Why? May be any scope problems? Should I set @Scope(ScopeType.???)? Please advise.

      Seam from cvs, JBoss 4.0.5.GA.