spring自治事务-执行次要事务,然后抛出主要事务

5anewei6  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(217)

我在处理spring事务时遇到了问题。我需要catch块在分叉/自治事务上保持某种状态,然后抛出异常以回滚在主事务上执行的任何操作。

@Transactional(
      propagation = Propagation.REQUIRED,
      isolation = Isolation.READ_COMMITTED,
      rollbackFor = {Exception.class})
  public void createApplication() {
    try {
      saveState(0);
    } catch(Exception e) {
      saveState(1);

      throw e;
    }
  }

  @Transactional(propagation = Propagation.REQUIRES_NEW)
  public void saveState(Integet stateId) {
    ...
  }

此设置的问题是所有内容都会回滚(如如何在spring boot中部分回滚数据中所述,将出现错误)。有没有一种方法可以在spring中分叉事务,或者这种方法根本不正确?
我还尝试将propagation.required与propagation.nested配对,但没有成功。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题