侧边栏壁纸
博主头像
宁静致远博主等级

行动起来,活在当下

  • 累计撰写 14 篇文章
  • 累计创建 11 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Spring中try-catch后手动回滚事务

Administrator
2024-03-27 / 0 评论 / 0 点赞 / 3 阅读 / 737 字

Spring中try-catch后手动回滚事务

如果正常使用声明式事务注解的方式时,代码异常后是可以回滚的,但是一般情况下会对代码进行catch,自定义返回值,所以异常被catch后必须要手动回滚,或者抛出新的异常

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
try {
    xxx
}catch (Exception e) {
    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
    logger.error("操作失败: ${}", e.getMessage());
    logger.error("请求参数: ${}", params);
    baseResp.setErrCode(ErrCode.ERR_INVOKER_EXCEPT.getErrCode());
    baseResp.setErrMsg(e.getMessage());
    return baseResp;
}

0

评论区