问题:
这几天在做开发时,发现事务不回滚了,Service是用AOP加的事务,数据库是MySql, 表全部是InnoDB;
方法回滚是采用spring的手动回滚:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
发现:
项目比较大,在项目中连接了4个数据库,每个数据库都有配置相应的事务,但是只有一个主数据库,其他3个数据库主要做查询,数据同步的作用;
怀疑问题出在TransactionAspectSupport.currentTransactionStatus(),获取当前事务的时候,没有获取主数据库的事务;
尝试:
因为其他3个数据库制作查询使用,所以不加事务,果然可以正常回滚了;
但是正常保存的时候又报没有事务:但是主数据库是有配置事务