簡略的程式碼,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條件的關係?