当前位置: 首页 > wzjs >正文

政务网站建设信息四平做网站佳业首页

政务网站建设信息,四平做网站佳业首页,wordpress 3.4.2 漏洞,公司网站开发的国内外研究现状我使用的是在数据库添加一个版本字段,记录版本,保证版本一致性,就能保证每次读取的是需要的内容。 具体问题:使用消息队列时,发送方给接收方发送消息,接收方修改了数据库的同时发送方查询数据库&#xff0…

我使用的是在数据库添加一个版本字段,记录版本,保证版本一致性,就能保证每次读取的是需要的内容。

具体问题:使用消息队列时,发送方给接收方发送消息,接收方修改了数据库的同时发送方查询数据库,由于是异步操作,会导致发送方读取的数据是修改前的数据,导致数据不一致的问题。

代码:

发送方

// 创建查询条件QueryWrapper<QuestionTest> queryWrapper = new QueryWrapper<>();queryWrapper.eq("userId", loginUser.getId()).eq("questionId", questionId);
// 查询是否存在记录QuestionTest existingRecord = questionTestMapper.selectOne(queryWrapper);插入一条新记录existingRecord.setQuestionId(questionId);existingRecord.setUserId(loginUser.getId());if (existingRecord.getId() == null) {existingRecord.setVersion(Long.valueOf(0));questionTestMapper.insert(existingRecord);}Long id = existingRecord.getId(); // 获取新插入记录的idLong version = existingRecord.getVersion();existingRecord.setVersion(version);Map<String, Object> taskMessage = new HashMap<>();taskMessage.put("id", id);taskMessage.put("questionId", questionId);taskMessage.put("userId", loginUser.getId());taskMessage.put("codeLanguage", questionSubmitAddRequest.getCodeLanguage());taskMessage.put("userCode", questionSubmitAddRequest.getUserCode());taskMessage.put("input", questionSubmitAddRequest.getUserJudgeCase().getInput());taskMessage.put("answer", question.getAnswer());taskMessage.put("version", version);
//        System.out.println(taskMessage);String message = JSONUtil.toJsonStr(taskMessage);
//        System.out.println(message);myMessageProducer.sendMessage("code_exchange", "my_routingKey_test", message);// 等待接收方处理完毕
//        Long newVersion = null;while (!existingRecord.getVersion().equals(version + 1)) {existingRecord = questionTestMapper.selectById(id);}return existingRecord;

 接收方:

Map<String, Object> taskMessage = JSONUtil.toBean(message, Map.class);Long questionId = Long.valueOf(taskMessage.get("questionId") != null ? String.valueOf(taskMessage.get("questionId")) : "0");Long id = Long.valueOf(taskMessage.get("id") != null ? String.valueOf(taskMessage.get("id")) : "0");Long userId = Long.valueOf(taskMessage.get("userId") != null ? String.valueOf(taskMessage.get("userId")) : "0");String codeLanguage = String.valueOf(taskMessage.get("codeLanguage"));String userCode = String.valueOf(taskMessage.get("userCode"));String input = String.valueOf(taskMessage.get("input"));String answer = String.valueOf(taskMessage.get("answer"));Long version = Long.valueOf(taskMessage.get("version") != null ? String.valueOf(taskMessage.get("version")) : "0");
//            System.out.println(answer);// 使用正确代码生成预期结果String output = judgeService.dojudgeTestCode(answer, input, codeLanguage);// 使用用户代码生成实际结果String predicted = judgeService.dojudgeTestCode(userCode, input, codeLanguage);JudgeCase currentJudgeCase = new JudgeCase();currentJudgeCase.setInput(input);currentJudgeCase.setOutput(output);JudgeCase userJudgeCase = new JudgeCase();userJudgeCase.setInput(input);userJudgeCase.setOutput(predicted);log.info("测试任务处理成功,Id = {}", id);// 5. 将结果存储到数据库或缓存中// 修保存到数据库中的测试结果version = version + 1;QuestionTest questionTest = new QuestionTest();questionTest.setVersion(version);questionTest.setId(id);questionTest.setQuestionId(questionId);questionTest.setUserId(userId);questionTest.setUserCode(userCode);questionTest.setCodeLanguage(codeLanguage);questionTest.setCurrentJudgeCase(JSONUtil.toJsonStr(currentJudgeCase));questionTest.setUserJudgeCase(JSONUtil.toJsonStr(userJudgeCase));
//            System.out.println("QuestionTest:"+questionTest);questionFeignClient.updateQuestionTestById(questionTest);// 6. 手动确认消息channel.basicAck(deliveryTag, false);


文章转载自:

http://5lde4EVi.hrtwt.cn
http://yGV3utXj.hrtwt.cn
http://bLhWn2rp.hrtwt.cn
http://g1KSUCAL.hrtwt.cn
http://CIX9vx85.hrtwt.cn
http://VxnzTULY.hrtwt.cn
http://9AiLmfMt.hrtwt.cn
http://p4rfhDks.hrtwt.cn
http://U12xNDL0.hrtwt.cn
http://7rER6136.hrtwt.cn
http://eIT3QjNl.hrtwt.cn
http://Vyc6Kdyc.hrtwt.cn
http://0UkRPuuY.hrtwt.cn
http://j0S1UHbB.hrtwt.cn
http://qGww59Jk.hrtwt.cn
http://Fdy7QTds.hrtwt.cn
http://qYY0eD8j.hrtwt.cn
http://VQPsBy4W.hrtwt.cn
http://1zBgVoKC.hrtwt.cn
http://cWChKdm2.hrtwt.cn
http://4HXztkPr.hrtwt.cn
http://Aw3psOeX.hrtwt.cn
http://qTnY0NY2.hrtwt.cn
http://LzZXr2Np.hrtwt.cn
http://USGPrbix.hrtwt.cn
http://z3JkUfMy.hrtwt.cn
http://DGm8sEbt.hrtwt.cn
http://3OupvqBz.hrtwt.cn
http://rVUq4Ipv.hrtwt.cn
http://Ep6WDoaX.hrtwt.cn
http://www.dtcms.com/wzjs/759910.html

相关文章:

  • 自己做网站做淘宝联盟关于二级网站建设
  • 邢台移动网站建设价格有哪些企业网站平台
  • 官方网站app最新下载wordpress posts page
  • 东八区网站建设涉及部署未备案网站
  • dede分类信息网站小程序商城模板免费
  • 北京建设专职查询网站网页设计项目报告总结
  • 自然村 网站建设新手建站教程报价单
  • 百度申请完域名怎么建设网站企业需要做网站吗
  • 打开一个网站慢个人网站怎么建立步骤
  • 柳市外贸网站建设口碑营销案例ppt
  • 网站竞价推广怎么做做企业网站要多长时间
  • 福州网站制作做网站一定要会ps么
  • php开发网站优势python做网站的 框架
  • 东阳网站建设yw81怎么开网店详细步骤教程
  • 简单个人网站模板爱南宁app信息查看在哪里
  • 西双版纳北京网站建设济宁建设局网站
  • 揭阳企业建站程序亿唐网不做网站做品牌案例分析
  • 注册域名 不建网站网站建设 代码下载
  • 服装建设网站论文的目录制作网站
  • p2p网站开发 源代码证券公司怎么拉客户
  • 智能网站建设网站密码如何找回
  • 学校网站建设介绍wordpress get_pages
  • 苏州网站制作推广素马设计顾问讲解价格
  • 网站建设公司好坤思特重庆网站建设熊掌号
  • 提供做网站中国建行官网登录首页
  • 门户网站 模块360免费建站可以免费又永久吗
  • 成都网站设计费用全国文明网联盟网站建设
  • 创新的邯郸网站建设福田我要做网站优化比较好
  • 登录建设官方网站连国外网站慢
  • 做司考题的网站室内在线设计平台