首页 > 技术文章 > seata@GlobalTransactional注解失效

runwithraining 2022-03-02 11:13 原文

记录一次bug

在某个service层的实现方法functionA()内调用了本类的另外一个方法functionB(),这个方法上加了注解@GlobalTransactional(rollbackFor = Exception.class),本以为在functionB()内的异常能让在functionB()内的数据库操作回滚,但是实际情况却是不行。seata使用的默认AT模式。

解决办法:把这个注解@GlobalTransactional(rollbackFor = Exception.class)从方法functionB()上删除,并且在functionA()上添加这个注解,然后就会回滚了。具体原因望懂得大佬指点。

推荐阅读