sql. sqlexception:连接已关闭



我正在制作一个石英线程应用程序,该应用程序从表中收集数据,并在插入更新数据库后将其插入另一个表
但是当我得到上面的错误时,我得到了一些数据在表

中插入了两次

注意:
1.
2.**OJDBC6.jar连接**
3.所有表都在同一个模式

异常堆栈

:

java.sql.SQLException: Connection is closed. 
        at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.checkOpen(PoolingDriver.java:263) 
        at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.close(PoolingDriver.java:268) 
        at com.sender.gsm.dao.Dao.closeConnection(Dao.java:38) 
        at com.sender.gsm.dao.OutDataDao.insertData(OutDataDao.java:91) 
        at com.sender.gsm.jobs.DataHandler.execute(DataHandler.java:49) 
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213) 
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)

close connection函数为

public void closeConnection(Connection conn) throws SQLException {
        if (conn != null ) {
            conn.close();
        }
    }

com.sender.gsm.dao.Dao.closeConnection (Dao.java: 38)OutDataDao.java:91

从堆栈跟踪中,您在select后执行插入时关闭了连接。尝试创建新的连接。

你可能在select语句之后调用了closeConnection()方法。因此,当它试图执行连接关闭的查询时,会在运行时抛出异常。

如果您正在使用连接池,请确保已将maxIdlemaxActive参数配置为合理的值

相关内容

最新更新