工程:zhcxkj-center-listing-comprehensive master
类和方法:AllegroListingGateway.transferListing()
问题描述:循环中以下代码破坏了方法的原子性,可能会造成数据不一致问题
try {
List<AllegroListingDTO> listingDTOList = listResult.getData();
List<AllegroListingColdDO> listingColdDOList = allegroListingColdDoMapStructSupport.convertListingColdDo(listingDTOList);
allegroListingColdRepository.insertBatch(listingColdDOList);
removeListingInfo(listingQry.getSourceId(),listingDTOList);
} catch (Exception e) {
log.error("迁移listing保存冷表出错了", e);
}
修改建议:里面同一个数据库的多个操作抽离成原子方法,并使用事务控制其一致性
任务描述
