這兩天發現mysql 批量insert 比如600條數據后,頁面馬上select就查詢到580條,但是等幾秒鍾再查詢就有600條(也有部分情況是永久只能查到580條了)
查看mybatis的日志發現循環每次批量insert 15條 按理說應該日志打印Updates 15 但是發現有一些只返回了Update 1了。
后來設置了mysql 的隔離級別,關閉mycat的讀寫分離,關閉mysql的同步,只從183主庫讀還是有這個問題。后來發現需要在addInstanceAndStructSubmitView方法加上
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.READ_COMMITTED,timeout=36000,rollbackFor=Exception.class)
可能是addInstanceAndStructSubmitView這個方法中用到了spring 事務或者其他原因
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.READ_COMMITTED,timeout=36000,rollbackFor=Exception.class)
public JSONObject addInstanceAndStructSubmitView(InstanceAndStructSubmitView instanceAndStructSubmitView,String token,boolean isSend,boolean isSendReview)