这两天发现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)