StartRunning.java 7.2 KB

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