嵌套的@Transactional和例外

时间:2013-11-14 21:07:40

标签: java spring transactions spring-transactions transactional

我想执行一些操作并将其结果(成功或失败)存储在db。

@Service
public MyService {

    @Transactional
    public void myOperation() {
        try {
           otherService.doDatabaseOperationThatMayFail();
           repository.writeSuccess()
        } catch (Exception e) {
          repository.writeFailure()
        }
    }
}

但如果otherService.doDatabaseOperationThatMayFail()本身被标记为@Transactional或使用此类组件,并且这些方法中的任何一个抛出异常,则整个事务都标记为回滚。我无法从@Transactional使用的所有服务中删除MyService。那么如何将故障信息存储在我的数据库中呢?

0 个答案:

没有答案