我在tomcat5.0的 conf/server.xml下为程序配置了 reloadable="true"开始reload是正常的,但是后来每次reload都报错:2009-8-22 16:23:41 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
2009-8-22 16:23:41 org.apache.catalina.loader.WebappClassLoader loadClass
信息: Illegal access: this web application instance has been stopped already (the eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact)
2009-8-22 16:23:41 org.apache.catalina.loader.WebappClassLoader loadClass
信息: Illegal access: this web application instance has been stopped already (the eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact)
2009-8-22 16:23:41 org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processChildren
严重: Exception invoking periodic operation: 
java.lang.ThreadDeath
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1253)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1213)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:49)
at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:333)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:295)
at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:225)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:150)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:187)
at org.apache.log4j.Category.forcedLog(Category.java:372)
at org.apache.log4j.Category.log(Category.java:864)
at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:193)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:692)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2992)
at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:4576)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1659)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1668)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1668)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1648)
at java.lang.Thread.run(Thread.java:536)然后程序就死掉了无法访问,只有重启tomcat,这是怎么回事,真心求教!!!谢谢了!!!

解决方案 »

  1.   

    Illegal access: this web application instance has been stopped already原因:tomcat重新装载web应用程序失败导致的。当应用程序卸载时,并不会关闭所有的线程。当tomcat已经关闭了其类加载器后,一些线程依然会继续运行,因为之前的tomcat中的线程还没有完全关闭,新启动tomcat就会报这个异常,不过这个不影响正常使用。
    好像只有改成false,不过这样对开发不方便
    现在tomcat6.0已经比较稳定,用tomcat6.0不会出现这样的问题