最近项目里面有多个项目里面使用myslq的函数来获取seq,报lock的异常
Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
处理方式:
获取seq的方法不使用事务控制,如下方:
@Override
//容器不为这个方法开启事务,解决lock问题
@Transactional(propagation=Propagation.NOT_SUPPORTED) :
public long getSeq(String seqName) {
return this.testMapper.getSeq(seqName);
}