2 Replies Latest reply on Sep 28, 2007 12:02 AM by Matt Drees

    IllegalStateException restarting app in tomcat

    Matt Drees Master

      When I reload my app, I sometimes get get an IllegalStateException, and I can duplicate this in the hibernate2 example. After logging in and searching a little, a reload causes this:

      Sep 26, 2007 9:15:37 PM org.apache.catalina.session.StandardSession passivate
      SEVERE: Session attribute event listener threw exception
      java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
       at org.jboss.seam.contexts.Lifecycle.getApplication(Lifecycle.java:36)
       at org.jboss.seam.contexts.Lifecycle.beginCall(Lifecycle.java:84)
       at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:113)
       at org.jboss.seam.intercept.RootInterceptor.invokeAndHandle(RootInterceptor.java:84)
       at org.jboss.seam.intercept.JavaBeanInterceptor.callPrePassivate(JavaBeanInterceptor.java:135)
       at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:77)
       at org.jboss.seam.example.hibernate.HotelSearchingAction_$$_javassist_2.sessionWillPassivate(HotelSearchingAction_$$_javassist_2.java)
       at org.apache.catalina.session.StandardSession.passivate(StandardSession.java:764)
       at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:515)
       at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
       at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
       at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4345)
       at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2984)
       at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:906)
       at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:473)
      ...
      


      It looks like RootInterceptor tries to set up contexts if they don't exist, but at this point in the game, there is no Seam application available so it bombs. Not sure if this is a tomcat-only problem or if it will happen on other appservers.


      As an aside, org.jboss.seam.example.hibernate.HotelSearchingAction is not serializable, which muddies the logs with stacktraces.

      Thanks