本文主要是介绍记录使用jmeter测试扣减库存和修改库存高并发执行是否发生数据不一致问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:ERP系统业务方反馈调取修改商城库存接口后,商城库存没有改变,需要验证修改库存和扣减库存并发执行时,是否发生了覆盖,导致数据不一致的问题。
1、测试demo
从代码分析,扣减库存,使用的是悲观锁。
@RestController
@RequestMapping(value = "testreducestorage")
public class TestReduceStorageAction {@AutowiredOrdersService ordersService;@RequestMapping(value = "index/{ordersId}",method = RequestMethod.GET)public ResultEntity index(@PathVariable int ordersId) throws ShopException {ResultEntity resultEntity = new ResultEntity();ordersService.testReduceStorage(ordersId);resultEntity.setCode(ResultEntity.SUCCESS);resultEntity.setMessage("扣减库存成功");HashMap<String,Integer> hashMap = new HashMap<>();hashMap.put("ordersId",ordersId);resultEntity.setData(hashMap);return resultEntity;}}
这篇关于记录使用jmeter测试扣减库存和修改库存高并发执行是否发生数据不一致问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!