有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何处理CannotCreateTransactionException

我有一个方法,有时使用CannotCreateTransactionException会失败。我该怎么办?此方法将记录存储到数据库中。如何重试

@Transactional(value = "transactionManagerDC")
public void recordErrors(Execution execution) {
    utilService.recordExecution(execution);
}
  1. 如果我用springretry注释该方法,springretry是否可以处理新事务
    @Retryable(value = { CannotCreateTransactionException.class }, maxAttempts = 3, backoff = @Backoff(delay = 5000))
    @Transactional(value = "transactionManagerDC")
    public void recordErrors(Execution execution) {
        utilService.recordExecution(execution);
    }

  1. 我想捕获此事务并将日志写入数据库。但这怎么可能呢?因为没有未用尽的数据库而发生异常?不过,我可以在catch块中添加DB write吗
    @Transactional(value = "transactionManagerDC")
    public void recordErrors(Execution execution) {
        try{
            utilService.recordExecution(execution); 
        }catch (TransactionException e){
            utilService.recordFailedExecution(execution, e);
        }
}

共 (0) 个答案