我正在制作一个石英线程应用程序,它从一个表中收集数据并在插入后将其插入另一个表中正在更新数据库,
但是当我收到上述错误时,我在表中插入了两次数据
请注意:
1.我使用 Oracle DB
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)
Run Code Online (Sandbox Code Playgroud)
关闭连接函数是
public void closeConnection(Connection conn) throws SQLException {
if (conn != null ) {
conn.close();
}
}
Run Code Online (Sandbox Code Playgroud)
在 com.sender.gsm.dao.Dao.closeConnection(Dao.java:38) 在 com.sender.gsm.dao.OutDataDao.insertData(OutDataDao.java:91)
从堆栈跟踪中,您在选择后执行插入时正在关闭连接。尝试创建新连接。
您可能closeConnection()在 select 语句之后调用了方法。因此,当它尝试执行连接关闭的查询时,会在运行时抛出异常。
如果您使用连接池,请确保已将maxIdle和maxActive参数配置为合理的值
| 归档时间: |
|
| 查看次数: |
30261 次 |
| 最近记录: |