propagation = Propagation.REQUIRED
默认的传播行为,该方法需要再事务环境下运行,被调用的方法有事务的话就和它在同一个事务下属于平级那一个异常都会回滚,没有就自己开启新的事务,调用别的没事务的方法会把它加到同一个事务中。下面会给出相应example
调用A方法
@Transactional(rollbackFor = Exception.class)
@Override
public void closeOrderAndReturnStock(InyGroupOrderDo orderDo) {
InyGroupOrderDo updateGroupOrder = new InyGroupOrderDo();
updateGroupOrder.setId(569L);
updateGroupOrder.setStatus(4);
updateGroupOrder.setActivityId(12L);
inyGroupOrderDao.updateById(updateGroupOrder);
InyGroupActivityDo updateGroupActivity=new InyGroupActivityDo();
updateGroupActivity.setId(updateGroupOrder.getActivityId());
updateGroupActivity.setName("王者之峰测试");
inyGroupActivityDao.updateById(updateGroupActivity);
addAssistanceStock(orderDo);
int i=1/0;//调用方法异常
}