Hi, List,
I'm using TOMCAT 4.1.27 integrated with WebSphere
Studio Application Developer 5.1 under Windows. When I change a class and
recompile it, I wish to reload my application to test the changes made. Using
the TOMCAT Manager application, I click in the reload link, and when I try to
refresh the page I have:
HTTP Status 503 - Servlet SCPController is currently unavailabletype Status report message Servlet SCPController is currently unavailable description The requested service (Servlet SCPController is currently unavailable) is not currently available. Apache Tomcat/4.1.27Looking at the LOGS, I found:
2004-01-08 11:46:29 HTMLManager: restart: Reloading
web application at '/SCP'
2004-01-08 11:46:29 StandardContext[/SCP]: Reloading this Context has started 2004-01-08 11:46:29 WebappLoader[/SCP]: Reloading checks are enabled for this Context 2004-01-08 11:46:29 StandardWrapper[/SCP:default]: Loading container servlet default 2004-01-08 11:46:29 StandardWrapper[/SCP:invoker]: Loading container servlet invoker 2004-01-08 11:46:29 StandardManager[/SCP]: Seeding random number generator class java.security.SecureRandom 2004-01-08 11:46:29 StandardManager[/SCP]: Seeding of random number generator has been completed 2004-01-08 11:46:29 StandardContext[/SCP]: Reloading this Context is completed 2004-01-08 11:46:29 HTMLManager: list: Listing contexts for virtual host 'localhost' 2004-01-08 11:46:33 StandardWrapper[/SCP:SCPController]: Marking servlet SCPController as unavailable 2004-01-08 11:46:33 StandardWrapperValve[SCPController]: Allocate exception for servlet SCPController javax.servlet.ServletException: Wrapper cannot find servlet class com.eccox.scp.web.SCPController or a class it depends on at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:891) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Thread.java:534) ----- Root Cause ----- java.lang.ClassNotFoundException: com.eccox.scp.web.SCPController at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1444) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:885) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Thread.java:534) 2004-01-08 11:47:55
StandardWrapperValve[SCPController]: Servlet SCPController is currently
unavailable
To solve the problem, I need to RESTART TOMCAT, and
this is an expensive time consuming task...
Using the same TOMCAT and WSAD under RedHat Linux,
the same procedure works well...
Any hints ???????????????????????????
Thanks a lot...
|