0 Replies Latest reply on May 16, 2012 7:39 AM by etienne

    Why does tomcat undeploy my Seam app ?

    etienne

      Hello,

       

      I am trying to  install an xform management framework (namely betterform) into my jboss/seam application.

      Both my application and  xform application work perfectly, when deployed separately.

       

      When I try to "merge" the two apps, tomcat undeploys the seam app.

      Everything works fine at startup:

       

      13:34:19,256 WARN  [SessionFactoryObjectFactory] InitialContext did not implement EventContext

      13:34:19,588 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080

      13:34:19,677 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009

      13:34:19,700 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 1m:52s:145ms

       

      but in 10 secs my app (/presences) gets undeployed:

       

      13:34:27,773 INFO  [TomcatDeployment] undeploy, ctxPath=/presences

      13:34:27,790 INFO  [SessionFactoryImpl] closing

      13:34:27,791 INFO  [SessionFactoryObjectFactory] Unbinding factory from JNDI name: java:/presencesDbSession

      13:34:27,791 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}

      13:34:27,792 INFO  [SessionFactoryObjectFactory] Unbound factory from JNDI name: java:/presencesDbSession

       

       

      If I try to call the app I obviously get a 404 error.

      If I try to call another deployed app I get the following log:

       

      13:35:38,664 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception

      java.lang.IllegalStateException: BaseClassLoader@16ab8d1[vfsfile:{path-to-jboss-home]/jboss-5.1.0.GA/server/default/deploy/presences.war/} classLoader is not connected to a domain (probably undeployed?) for class org.jboss.seam.servlet.SeamFilter$FilterChainImpl

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:793)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

              at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)

              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)

              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)

              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)

              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)

              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)

              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

              at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)

              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)

              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)

              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

              at java.lang.Thread.run(Thread.java:636)

       

      What is causing Tomcat to undeploy the presences app ?

      I have no clue.

      I am focusing right now on the filters configuration, as the betterform framework deeply leverages on them.

       

      Any guess ?

       

      Jboss is 5.1.0.GA

      Seam is 2.2.0.GA

      Web.xml in attachment.

       

      Thanks in advance!

      Regards

      Etienne