我想执行一些操作并将其结果(成功或失败)存储在数据库中。
@Service
public MyService {
@Transactional
public void myOperation() {
try {
otherService.doDatabaseOperationThatMayFail();
repository.writeSuccess()
} catch (Exception e) {
repository.writeFailure()
}
}
}
但是,如果otherService.doDatabaseOperationThatMayFail()
它本身被标记为@Transactional
或使用此类组件,并且这些方法中的任何一个引发异常,则整个事务被标记为回滚。我无法@Transactional
从MyService
. 那么如何将故障信息存储在我的数据库中呢?