我正在调用一个API来保存生产数据,我需要在不同的数据库中保存各种细节,如批号、机器编号和过程
Class ProductionImpl{
public Long saveProduction(AddProduct addproduct){
BatchData batchdata = batchDao.save(addproduct);
\\
ProductionPlane pp = productionPlanDao.save(addproduct,batchdata);
MachineData machineData = new MachineData();
machineData.setProductionId = pp.getId;
\\
saveMachine(machineData);
return pp.getId;
}
\\
}
Class MachineImpl{
public void saveMachine(machineData){
ProductionPlane p_plan = productionPlanDao.findBy(machineDaata.getProductionId);
\\
MachineDao.save(machineData);
}
\\
}
如果saveMachine中发生错误,我还希望回滚saveProduction中的更改。
1条答案
按热度按时间qv7cva1a1#
使用Saga pattern。下面是我使用temporal.io开源框架的方法: