项目Redeploy异常---Illegal access: this web application instance has been stopped already.

信息: Illegal access: this web application instance has been stopped already.  Could not load java.net.BindException.  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.
java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:161)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759)
    at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1410)
    at com.mysql.jdbc.Connection.realClose(Connection.java:4947)
    at com.mysql.jdbc.Connection.cleanup(Connection.java:2063)
    at com.mysql.jdbc.Connection.finalize(Connection.java:3403)
    at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
    at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
    at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

 

 

非法访问:此Web应用程序实例已停止了。无法加载java.net.BindException。最终是由下面的堆栈跟踪调试目的,以及试图终止线程从而导致非法访问抛出一个错误造成的,并没有功能的影响。

这个是在关闭应用服务器或重新部署装载项目失败会发生。当应用程序卸载时,并不会关闭所有的线程。当tomcat已经关闭了其类加载器后,一些线程依然会继续运行,这样就导致出错,这些错误就会被到日志文件里。
解决方法是:修改tomcat目录下conf文件夹下的server.xml,
在<Host>标签添加子元素找到<Context>标签,把reloadble的属性值设为:reloadable="false"。


<Context>代表了运行在<Host>上的单个Web应用,一个<Host>可以有多个< Context>元素,每个Web应用必须有唯一的URL路径,这个URL路径在<Context>中的属性path中设定。 
<Context path="/helloApp" docBase="helloApp" debug="0" reloadable="true"/>  
<Context>元素的属性: 
path:指定访问该Web应用的URL入口。 
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。 
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用
,也就是热部署 有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

你可能感兴趣的:(tomcat,Web,服务器,application,Access,debugging)