简略的程式码,count值任意
ArrayList<Object> list = new ArrayList();
for(){
Object obj = factory.genData.......;
list.add(obj);
//if(list.size()==count){
transaction(list);
list.clear();
}
}
粗略的情形是这样子,问题是做大量的交易时
会出现直接Count的倍数就结束交易了,
举例总共要做1000笔 Count = 5,它可能做15笔就离开循环。
查看系统的Log也没有出现exception...
DB里面也只有15笔资料这样
出现的情况也很偶然,自己的环境试不出来
使用以下工具
Java8 Tomcat8 Servlet3 Hibernate5
先谢谢大家,好任性的问题Orz
作者:
pttworld (批踢踢世界)
2017-04-25 20:22:00for里面list一直new,size只会是1,你count设1试试看
楼主: Injury5566 (Injury5566) 2017-04-25 20:25:00
这边我打错,new是在外面Sorry我改一下
作者:
y3k (激流を制するは静水)
2017-04-25 21:11:00transaction(new ArrayList<>(list));
作者: marfha 2017-04-25 21:35:00
没有break条件?说不定是break条件的关系?