簡體   English   中英

非法訪問:此Web應用程序實例已被停止

[英]Illegal access: this web application instance has been stopped already

我正在使用Tomcat6.0中的GWT, Hibernate (基於XML的映射),MySQL-開發應用程序。 IDE- Netbeans 6.9我在Netbeans中設置項目屬性“Deploy On Save”選項。

當我的應用程序在服務器中長時間運行時,我的應用程序無法連接到數據庫並引發以下異常

最終跟隨堆棧跟蹤是由於為調試目的而拋出的錯誤以及嘗試終止線程引起的
這導致了非法訪問,並沒有任何功能影響。

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:316)  
        at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4273)  
        at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1444)  
        at org.hibernate.connection.DriverManagerConnectionProvider.close(DriverManagerConnectionProvider.java:152)  
        at org.hibernate.connection.DriverManagerConnectionProvider.finalize(DriverManagerConnectionProvider.java:142)  
        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)  

當我重新啟動我的tomcat服務器時,我再次能夠連接數據庫。請告訴我如何獲得無縫性能,並且可以在不重新啟動tomcat的情況下完成工作。

您可能正在打開越來越多的連接,並且永遠不會關閉它們,最終會達到數據庫配置的最大連接數。

找到您打開連接的位置,並確保關閉它們。 如果您為每個請求打開一個連接但不關閉它,那么很容易找到並修復。 或者,當您收到錯誤時,您可能沒有關閉連接 - 請檢查您的異常處理代碼。

使用數據庫連接時的推薦方法是try finally使用try finally來盡最大努力關閉數據庫連接:

Connection con;
try {
   con = ...; // open connection
   // do work
catch (SQLException e) {
   // do whatever
} finally {
    if (con != null && !con.isClosed()) {
        try {
            con.close();
        catch (SQLException e) {
            // Don't throw from here or you'll lose any return/exception from above
            log.error("Failed to close connection", e);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM