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

正规网站建设详细方案高级搜索技巧

正规网站建设详细方案,高级搜索技巧,苏州哪个公司做门户网站,网站建设管理界面我使用的是在数据库添加一个版本字段,记录版本,保证版本一致性,就能保证每次读取的是需要的内容。 具体问题:使用消息队列时,发送方给接收方发送消息,接收方修改了数据库的同时发送方查询数据库&#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://www.dtcms.com/wzjs/530135.html

相关文章:

  • 品牌手机网站建设seo友情链接
  • 暖通设计网站推荐网站推广软件下载安装免费
  • 思源黑体可以做网站网络销售的工作内容
  • 外贸网站建设报价关键词搜索
  • 杨浦网站建设成都搜索优化排名公司
  • 网站建设 的类型有哪些企业邮箱格式
  • 高校网站建设存在的问题搜索引擎优化的常用方法
  • 网站备案是在哪里查谷歌seo推广服务
  • 网站后台网址忘记了 php接推广一般多少钱
  • 网上做网站过程广州seo黑帽培训
  • 哪些网站开业做简单海报中国国家培训网
  • 烟台做网站建设电话直播营销策略有哪些
  • 河南网站推广优化报价东莞seo网络公司
  • WordPress 夜间模式主题黑帽seo排名技术
  • wordpress 调用全文国外网站谷歌seo推广
  • 购买b2c网站网络营销理论包括哪些
  • 崇州企业网站建设网页设计首页
  • 国外设计教程网站深圳seo优化排名优化
  • 广州建设大马路小学网站上海有哪些优化网站推广公司
  • 宁波易通建设网站营销策划公司 品牌策划公司
  • 什么网站广告最多惠州关键词排名提升
  • 网站开发能不能用win7系统网络推广费计入什么科目
  • wordpress文件缓存焦作网站seo
  • 400全国服务热线代理顺德手机网站建设seo搜索引擎优化人员
  • 定制软件appseo排名点击手机
  • 成都有没有做网站建设的推广app的单子都在哪里接的
  • 域名只做邮箱没网站要备案吗怎么在网上推销产品
  • 网站违法和做网站得有关系凡科网站登录入口
  • 招聘网站预算怎么做时空seo助手
  • 网站建设框架怎么做软文网