1 Reply Latest reply on Jul 21, 2009 10:06 AM by ubhole

    FUSE-ESB Embedded in Tomcat Won't Run

    terrancecrow

      I followed the instructions to package FUSE-ESB as a war:

       

      http://servicemix.apache.org/tomcat-integration.html

       

      I tried to deploy it under Tomcat 5.5.23 running under Java 1.6.0 build 14 on CentOS 5. When I do, catalina.out shows these lines:

       

      INFO: Deploying web application archive servicemix-web-3.4.0.2-fuse.war

      Jul 17, 2009 2:04:13 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

      INFO: validateJarFile(/usr/local/tomcat4/webapps/servicemix-web-3.4.0.2-fuse/WEB-INF/lib/geronimo-servlet_2.5_spec-1.1.2.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

      Jul 17, 2009 2:04:13 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

      INFO: validateJarFile(/usr/local/tomcat4/webapps/servicemix-web-3.4.0.2-fuse/WEB-INF/lib/servlet-api-2.5-6.1.14.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

      log4j:ERROR setFile(null,true) call failed.

      java.io.FileNotFoundException: data/log/servicemix.log (No such file or directory)

           at java.io.FileOutputStream.openAppend(Native Method)

      ...

       

      The log catalina.2009-07-17.log contained these entries:

       

      INFO: Deploying web application archive servicemix-web-3.4.0.2-fuse.war

      Jul 17, 2009 2:04:13 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

      INFO: validateJarFile(/usr/local/tomcat4/webapps/servicemix-web-3.4.0.2-fuse/WEB-INF/lib/geronimo-servlet_2.5_spec-1.1.2.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

      Jul 17, 2009 2:04:13 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

      INFO: validateJarFile(/usr/local/tomcat4/webapps/servicemix-web-3.4.0.2-fuse/WEB-INF/lib/servlet-api-2.5-6.1.14.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

      Jul 17, 2009 2:04:22 PM org.apache.catalina.core.StandardContext start

      SEVERE: Error listenerStart

      ...

       

      I've tried FUSE-ESB 3.4.0.2 and 3.4.0.3, and I get the same errors.

       

      I'm sure I've done this before, and it seemed to work fine. The error is early enough in the deployment process that ESB's log file isn't even created, so I can't check it for clues.

       

      Tomcat runs under the user tomcat, and the error seemed to suggest permissions. I tried verifying tomcat's ownership on the entire directory tree (/usr/local/tomcat), but that didn't help. I tired chmod -R 775 * from within the tomcat directory and trying to redeploy the war. That didn't help. I tried running Tomcat as root, and I seemed to get farther, but I can't run Tomcat as root.

       

      What am I missing?

       

      Thanks in advance!

        • 1. Re: FUSE-ESB Embedded in Tomcat Won't Run
          ubhole

          Hi Terrance,

          I think this is related to some permissions issue. I just tried the same sample (servicemix-web) from FUSE ESB 3.4.0.2 with Tomcat 6.0.1.6 installation that I already had and is working fine. I can connect to it via browser and jconsole.

           

          Can you make sure you have correct permissions to the user running tomcat to create the directory in tomcat's install directory? I assume you have installed it with different user and current user only have readonly permission on <CATALINA_HOME> where servicemix tries to create it's data directory.

           

          Regards,

           

          Ulhas Bhole