Spring 事务回滚

Posted noire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 事务回滚相关的知识,希望对你有一定的参考价值。

@PostMapping("/save")
@ApiOperation("新增或修改客户")
@DataSource(DataSourceEnum.erpDB)
@Transactional(propagation = Propagation.REQUIRED)  //事务回滚,在有transaction状态下执行;如当前没有transaction,则创建新的transaction
public ResponseData save(@RequestBody CustomerExtVo record) return ResponseUtil.success(bdCustomerService.saveCustomerInfo(record));


Propagation取值:

  REQUIRED(默认值):在有transaction状态下执行;如当前没有transaction,则创建新的transaction;

  SUPPORTS:如当前有transaction,则在transaction状态下执行;如果当前没有transaction,在无transaction状态下执行;

  MANDATORY:必须在有transaction状态下执行,如果当前没有transaction,则抛出异常IllegalTransactionStateException;

  REQUIRES_NEW:创建新的transaction并执行;如果当前已有transaction,则将当前transaction挂起;

  NOT_SUPPORTED:在无transaction状态下执行;如果当前已有transaction,则将当前transaction挂起;

  NEVER:在无transaction状态下执行;如果当前已有transaction,则抛出异常IllegalTransactionStateException。

 

 

以上是关于Spring 事务回滚的主要内容,如果未能解决你的问题,请参考以下文章

利用spring实现多线程 + 事务回滚

spring配置了事务,抛出异常不回滚

四Spring事务回滚

spring自己抛出异常,居然不能回滚

spring全注解事务管理中怎么手动回滚事物

Spring学习笔记——Spring事务仅仅对执行时异常回滚