双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

并发时出现的 java.sql.SQLException: 关闭的 Resultset: next

heliang69 heliang69 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序如果有几十个并发数的时候,会出现“java.sql.SQLException: 关闭的 Resultset: next”的异常。
这个异常一般会是因为在rs.next()之前就关闭了Statement对象才会有的。
但是,程序如果在单线程的情况下就没有此问题,不知道大家有什么解决的办法来避免这个问题,部分代码如下:

//conn为Connection对象。在整个的程序中,是一个静态变量
stmt = conn.createStatement();

rsRow = stmt.executeQuery(strSQL);

// 获取记录
while (rsRow.next()) { //程序在此处报错
stateList.add(rsRow.getString("execute_state"));
}
rsRow.close();
stmt.close();
rsRow = null;
stmt = null;


异常信息:

java.sql.SQLException: 关闭的 Resultset: next
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:175)
at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next()Z(Unknown Source)
at com.ngoss.framework.db.impl.WorkorderDAOImpl.selectWorkOrder(WorkorderDAOImpl.java:347)
at com.ngoss.framework.impl.RequestManagerImpl.selectWorkOrder(RequestManagerImpl.java:110)



...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
heliang69
Java EE 67,535 成员 225,843 内容