2012-06-28 114 views
1

我很新的java web服務。我在glassfish上部署了一個restfull web服務。 Web服務運行約10或20小時,然後系統不響應。下面是每次調用服務時引發的異常(系統中斷後)。請告訴我爲什麼拋出這個異常。 感謝玻璃魚和restfull web服務異常

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after statement closed. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.Util.getInstance(Util.java:386) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 
    at com.mysql.jdbc.StatementImpl.checkClosed(StatementImpl.java:458) 
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1418) 
    at datamodel.Question_Data_Factory.getFilteredQData(Question_Data_Factory.java:44) 
+2

檢查您的jdbc驅動程序超時。默認值(我們使用的那個)是12小時。所以如果它無效,它會關閉。沒有新的連接可以打開。 – Thomas

+0

您正在使用數據源還是管理連接的打開和關閉? – Tomer

+0

我正在管理連接的開啓和關閉 –

回答

0

原因是在空閒時,很長一段時間的JDBC驅動程序連接會自動關閉。將conncetTimeout設置爲0解決了問題