事务概念略;
由事务的传播行为我们知道, 如果将方法配置为默认事务(REQUIRED)在执行过程中Spring会为其新启事务(REQUIRES_NEW), 作为一个独立事务来执行....logger.error("业务2处理异常,{}", e.getMessage());
}
问题原因是因为两个service中的方法doService均为默认事务(REQUIRED),...又由于spring的事务回滚依托在异常之上, 当demoService2.doService()出现异常后它将事务标记为回滚....异常抛出后被catch , demoService1.doService 没有接受到里面抛出的异常, 方法继续执行, 执行结束后, 事务提交....但当demoService1在做commit的时候检测到事务被标记为回滚, 与预期不符, 也就是Unexpected 意想不到的
UnexpectedRollbackException: Transaction