項目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。

發佈了41 篇原創文章 · 獲贊 35 · 訪問量 56萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章