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