关于java.util.ConcurrentModificationException

yxsong2000 2006-06-16 10:06:51
以下代码 conn.commit(); 后执行conn.close();抛出ConcurrentModificationException,为什么,
而且数据库用户老是被锁定,跟抛出这个Exception有关系吗

Connection conn = dbSys.getConnection(); //从poolman取得连接
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
String strSql="........................";
PreparedStatement preStmt = conn.prepareStatement(strSql);
...............................
String strJobStatusSql = "......................";
stmt.addBatch(strJobStatusSql);
..............................................
stmt.executeBatch();
preStmt.executeBatch();
conn.commit();
if(!conn.isClosed()){
conn.close();
conn = null;
}
...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
forevertraveller 2006-06-22
  • 打赏
  • 举报
回复
ConcurrentModificationException是线程并发造成的
csrcom 2006-06-16
  • 打赏
  • 举报
回复
我敢肯定你们数据库连接 pool 的实现绝对有问题。
业界上面那么多的开源datasource pool不用?自己实现一个,简直就是拿砖头砸自己。

瞧瞧你们的代码,这些比如List,set Map 等一些线程不安全的东西,但是你们还拿它用在多线程方面。
结果造成现在的下场了,呵呵!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧