StartRunning.java 6.3 KB

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