1

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

@Service
public MyService {

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

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

4

0 回答 0