在服务中捕获 spring 事务异常

Catch spring transaction exception in service

我想在服务层中捕获 spring 事务异常,而不是在服务层或服务调用者中。 正如我发现的那样,我无法在@transaction method.i 中捕获异常,一旦事务在相同的方法或相同的服务中失败,就需要采取行动。

当使用@Transactional 注释的方法抛出异常时,事务被回滚(或者class 可以使用@Transactional 注释)。

因此您无法在此方法中执行 post 回滚操作。如果您想在服务层执行此逻辑,您可以让服务 bean 处理 post 回滚操作调用另一个处理事务的服务 bean。