2012-06-28 91 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解决了问题