You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Justin Ruthenbeck <ju...@nextengine.com> on 2003/10/10 21:18:03 UTC

4.1.27: Manager app 'reload' causing ClassNotFoundException

Hello All:

Tomcat 4.1.27
JDK 1.4.1_02
OS: Windows 2k

I've thoroughly read:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/manager-howto.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html
This list for the past 16 months  :)

Problem: My (simple demonstration) webapp runs fine if Tomcat is started 
from scratch.  If I use the Manager app from either the html or ant 
interfaces, executing the 'reload' command completes without error, yet all 
servlets are unavailable afterwards.  Hitting a servlet results in the 
following being logged:

2003-10-10 12:05:06 HTMLManager: restart: Reloading web application at '/news'
2003-10-10 12:05:06 StandardContext[/news]: Reloading this Context has started
2003-10-10 12:05:06 StandardWrapper[/news:default]: Loading container 
servlet default
2003-10-10 12:05:06 StandardWrapper[/news:invoker]: Loading container 
servlet invoker
2003-10-10 12:05:06 StandardManager[/news]: Seeding random number generator 
class java.security.SecureRandom
2003-10-10 12:05:06 StandardManager[/news]: Seeding of random number 
generator has been completed
2003-10-10 12:05:06 StandardContext[/news]: Reloading this Context is completed
2003-10-10 12:05:12 
StandardWrapper[/news:com.nextengine.news.servlet.CalculatorServlet]: 
Marking servlet com.nextengine.news.servlet.CalculatorServlet as unavailable
2003-10-10 12:05:12 
StandardWrapperValve[com.nextengine.news.servlet.CalculatorServlet]: 
Allocate exception for servlet com.nextengine.news.servlet.CalculatorServlet
javax.servlet.ServletException: Wrapper cannot find servlet class 
com.nextengine.news.servlet.CalculatorServlet 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

<snip>

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:536)
----- Root Cause -----
java.lang.ClassNotFoundException: com.nextengine.news.servlet.CalculatorServlet
	at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1444)
	at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289)

CalculatorServlet.class exists only under the directory:
$TOMCAT_HOME/webapps/news/WEB-INF/classes/com/nextengine/news/servlet

The only modifications made to the default installation is the appropriate 
additions to tomcat-users.xml.  No changes were made to server.xml.  Since 
thousands of people use this, I'm assuming there's something simple going 
on here.  Restarting the Tomcat process results in all resources being 
available once again.

Hoping another pair of eyes can see what's wrong...

Thanks,
justin

____________________________________
Justin Ruthenbeck
Software Engineer, NextEngine Inc.
justinr - AT - nextengine DOT com
Confidential
    See http://www.nextengine.com/confidentiality.php
____________________________________


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org