Hi

I'm using EmbeddedManager to start up and configure a Catalina instance.
I can set up the ClassLoaders and proceed to create the hosts etc with
no problems, but the startup always falls over when I'm running through
StandardContext.start() -> loadOnStartup(findChildren()) ->
(StandardWrapper) load(). At this point, getJasperLoader() fires up and
sets up the classpath for the jsp. A few lines later and a
ClassCastException is thrown at this point with the following ..

        // Instantiate and initialize an instance of the servlet class
itself
        Servlet servlet = null;
        try {
            servlet = (Servlet) classClass.newInstance();
        } catch (ClassCastException e) {
            unavailable(null);
        }

.....

StandardWrapper[:jsp]: Using Jasper classloader for servlet jsp
StandardWrapper[:jsp]: Marking servlet jsp as unavailable
StandardContext[]: Servlet  threw load() exception
javax.servlet.ServletException: Class
org.apache.jasper.servlet.JspServlet is not a Servlet
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3240)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3350)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:415)
        at
com.syntactics.server.management.catalina.CatalinaManager.startService(CatalinaManager.java:651)
        at
org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:106)
        at java.lang.reflect.Method.invoke(Native Method)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
        at
com.syntactics.server.management.TestServer.<init>(TestServer.java:139)
        at
com.syntactics.server.management.TestServer$1.run(TestServer.java:59)
        at java.security.AccessController.doPrivileged(Native Method)
        at
com.syntactics.server.management.TestServer.main(TestServer.java:56)
----- Root Cause -----
java.lang.ClassCastException: org.apache.jasper.servlet.JspServlet
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:809)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3240)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3350)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:415)
        at
com.syntactics.server.management.catalina.CatalinaManager.startService(CatalinaManager.java:651)
        at
org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:106)
        at java.lang.reflect.Method.invoke(Native Method)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
        at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
        at
com.syntactics.server.management.TestServer.<init>(TestServer.java:139)
        at
com.syntactics.server.management.TestServer$1.run(TestServer.java:59)
        at java.security.AccessController.doPrivileged(Native Method)
        at
com.syntactics.server.management.TestServer.main(TestServer.java:56)


......

Incidently, this works fine if I use the standalone set up.

Any thoughts?

Nick

Reply via email to