StartRunning.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.qmth.themis.exam.start;
  2. import com.qmth.themis.business.constant.SpringContextHolder;
  3. import com.qmth.themis.business.constant.SystemConstant;
  4. import com.qmth.themis.exam.config.DictionaryConfig;
  5. import com.qmth.themis.exam.websocket.WebSocketOeServer;
  6. import com.qmth.themis.mq.enums.MqGroupEnum;
  7. import com.qmth.themis.mq.enums.MqTagEnum;
  8. import com.qmth.themis.mq.enums.MqTopicEnum;
  9. import com.qmth.themis.mq.listener.RocketMessageConsumer;
  10. import com.qmth.themis.mq.templete.impl.*;
  11. import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.boot.CommandLineRunner;
  16. import org.springframework.stereotype.Component;
  17. import javax.annotation.Resource;
  18. import java.util.Map;
  19. import java.util.Objects;
  20. /**
  21. * @Description: 服务启动时初始化运行,哪个微服务模块需要则拿此模版去用
  22. * @Param:
  23. * @return:
  24. * @Author: wangliang
  25. * @Date: 2020/7/3
  26. */
  27. @Component
  28. public class StartRunning implements CommandLineRunner {
  29. private final static Logger log = LoggerFactory.getLogger(StartRunning.class);
  30. @Resource
  31. RocketMessageConsumer rocketMessageConsumer;
  32. @Value("${rocketmq.name-server}")
  33. String nameServer;
  34. @Resource
  35. DictionaryConfig dictionaryConfig;
  36. @Override
  37. public void run(String... args) throws Exception {
  38. log.info("服务器启动时执行 start");
  39. Map<String, String> map = dictionaryConfig.mqDomain().getGroupMap();
  40. /**
  41. * session mq start
  42. */
  43. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerWebGroup.getCode() : map.get(MqGroupEnum.sessionConsumerWebGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.web.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  44. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerWinGroup.getCode() : map.get(MqGroupEnum.sessionConsumerWinGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.win.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  45. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerMacGroup.getCode() : map.get(MqGroupEnum.sessionConsumerMacGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.mac.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  46. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerWxappGroup.getCode() : map.get(MqGroupEnum.sessionConsumerWxappGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.wxapp.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  47. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerIosGroup.getCode() : map.get(MqGroupEnum.sessionConsumerIosGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.ios.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  48. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.sessionConsumerAndroidGroup.getCode() : map.get(MqGroupEnum.sessionConsumerAndroidGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.android.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(SessionConcurrentlyImpl.class));
  49. /**
  50. * session mq end
  51. */
  52. /**
  53. * userLog mq start
  54. */
  55. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.userLogConsumerUserGroup.getCode() : map.get(MqGroupEnum.userLogConsumerUserGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.user.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(UserLogConcurrentlyImpl.class));
  56. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.userLogConsumerStudentGroup.getCode() : map.get(MqGroupEnum.userLogConsumerStudentGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.student.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(UserLogConcurrentlyImpl.class));
  57. /**
  58. * userLog mq end
  59. */
  60. /**
  61. * task mq start
  62. */
  63. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.taskConsumerExamStudentImportGroup.getCode() : map.get(MqGroupEnum.taskConsumerExamStudentImportGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.examStudentImport.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(TaskConcurrentlyImpl.class));
  64. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.taskConsumerRoomCodeImportGroup.getCode() : map.get(MqGroupEnum.taskConsumerRoomCodeImportGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.roomCodeImport.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(TaskConcurrentlyImpl.class));
  65. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.taskConsumerRoomCodeExportGroup.getCode() : map.get(MqGroupEnum.taskConsumerRoomCodeExportGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.roomCodeExport.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(TaskConcurrentlyImpl.class));
  66. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.taskConsumerExamPaperImportGroup.getCode() : map.get(MqGroupEnum.taskConsumerExamPaperImportGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.examPaperImport.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(TaskConcurrentlyImpl.class));
  67. /**
  68. * task mq end
  69. */
  70. /**
  71. * websocket mq start
  72. */
  73. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.websocketConsumerUnNormalGroup.getCode() : map.get(MqGroupEnum.websocketConsumerUnNormalGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.unNormal.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(WebsocketUnNormalConcurrentlyImpl.class));
  74. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.websocketConsumerOeGroup.getCode() : map.get(MqGroupEnum.websocketConsumerOeGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.oe.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(WebSocketOeServer.class));
  75. /**
  76. * websocket mq end
  77. */
  78. //计算客观分
  79. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.calculateObjectiveScoreGroup.getCode() : map.get(MqGroupEnum.calculateObjectiveScoreGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.calculateObjectiveScore.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(CalculateObjectiveScoreConcurrentlyImpl.class));
  80. //人脸验证保存
  81. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.faceVerifySaveGroup.getCode() : map.get(MqGroupEnum.faceVerifySaveGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.faceVerifySave.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(FaceVerifyConcurrentlyImpl.class));
  82. //活体验证保存
  83. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.livenessVerifySaveGroup.getCode() : map.get(MqGroupEnum.livenessVerifySaveGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.livenessVerifySave.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(LivenessVerifyConcurrentlyImpl.class));
  84. //考试断点记录
  85. rocketMessageConsumer.setRocketMQConsumer(nameServer, Objects.isNull(map) ? MqGroupEnum.examBreakHistoryGroup.getCode() : map.get(MqGroupEnum.examBreakHistoryGroup.name()), Objects.isNull(map) ? MqTopicEnum.themisTopic.getCode() : map.get("name"), MqTagEnum.examBreakHistory.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(ExamBreakHistoryConcurrentlyImpl.class));
  86. SystemConstant.initTempFiles();
  87. log.info("服务器启动时执行 end");
  88. }
  89. }