EtlTaskManager.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /**
  2. * Copyright
  3. * All right reserved.
  4. * 项目名称:
  5. * 创建日期:2022/5/23
  6. */
  7. package org.springblade.etl;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
  10. import org.springblade.etl.service.*;
  11. import org.springblade.modules.baseinfo.stbase.service.IMvAttStBaseService;
  12. import org.springblade.modules.business.project.base.service.IProjectBaseInfoService;
  13. import org.springblade.modules.business.rtu.base.service.IRtuBaseInfoService;
  14. import org.springblade.modules.business.rtu.data.service.IRtuDataGroundService;
  15. import org.springblade.modules.business.rtu.data.service.IRtuDataRainService;
  16. import org.springblade.modules.business.rtu.data.service.IRtuDataRiverService;
  17. import org.springblade.modules.business.rtu.data.service.IRtuDataRsvrService;
  18. import org.springblade.modules.business.rtumanage.service.IRtuManageService;
  19. import org.springblade.modules.business.warning.service.IOriginalWarningService;
  20. import org.springblade.modules.business.warning.service.IRtuWarningService;
  21. import org.springblade.modules.system.service.IDictBizService;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.data.redis.core.RedisTemplate;
  24. import org.springframework.kafka.core.KafkaTemplate;
  25. import org.springframework.messaging.simp.SimpMessagingTemplate;
  26. import org.springframework.scheduling.annotation.EnableScheduling;
  27. import org.springframework.scheduling.annotation.Scheduled;
  28. import org.springframework.stereotype.Component;
  29. import javax.annotation.Resource;
  30. import java.util.concurrent.*;
  31. /***
  32. * Date:2022/5/22
  33. * Title: 环境辐射与气象监测系统(KRS) 模块
  34. * Description:MODBUS TCP 协议传输 ,任务管理
  35. * @author swp
  36. * @version 1.0
  37. * Remark:认为有必要的其他信息
  38. */
  39. @Slf4j
  40. @Component
  41. @EnableScheduling
  42. public class EtlTaskManager {
  43. /**
  44. * 公共线程池
  45. **/
  46. private static ThreadFactory publicThreadFactory = new ThreadFactoryBuilder().setNameFormat("public-thread-pool-%d").build();
  47. private static ExecutorService publicThreadPool = new ThreadPoolExecutor(1, 1,
  48. 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(1024), publicThreadFactory, new ThreadPoolExecutor.AbortPolicy());
  49. @Resource
  50. private IEtlWarningService etlWarningService;
  51. @Resource
  52. private IRtuWarningService rtuWarningService;
  53. @Resource
  54. private IRtuBaseInfoService rtuBaseInfoService;
  55. @Resource
  56. private IProjectBaseInfoService projectBaseInfoService;
  57. @Resource
  58. private IRtuDataRiverService dataRiverService;
  59. @Resource
  60. private IRtuDataRsvrService dataRsvrService;
  61. @Resource
  62. private IRtuDataRainService dataRainService;
  63. @Resource
  64. private IRtuDataGroundService dataGroundService;
  65. @Autowired
  66. private KafkaTemplate<String, String> kafkaTemplate;
  67. @Autowired
  68. private SimpMessagingTemplate messagingTemplate;
  69. @Autowired
  70. private RedisTemplate redisTemplate;
  71. @Resource
  72. private IDictBizService dictBizService;
  73. @Resource
  74. private IRtuManageService rtuManageService;
  75. @Resource
  76. private IOriginalWarningService originalWarningService;
  77. @Resource
  78. private IEtlRainDataService etlRainDataService;
  79. @Resource
  80. private IEtlRiverDataService etlRiverDataService;
  81. @Resource
  82. private IEtlRsvrDataService etlRsvrDataService;
  83. @Resource
  84. private IEtlGroundDataService etlGroundDataService;
  85. @Resource
  86. private IEtlMvAttStBaseService etlMvAttStBaseService;
  87. @Resource
  88. private IMvAttStBaseService mvAttStBaseService;
  89. @Scheduled(cron = "0 0/1 * * * * ")
  90. public void warnTask() {
  91. try {
  92. // EtlMvAttStBaseDataTask task = new EtlMvAttStBaseDataTask(etlMvAttStBaseService, mvAttStBaseService);
  93. // FutureTask<Integer> futureTask = new FutureTask<>(task);
  94. // publicThreadPool.execute(futureTask);
  95. // EtlRainDataTask task = new EtlRainDataTask(redisTemplate, etlRainDataService, dataRainService);
  96. // FutureTask<Integer> futureTask = new FutureTask<>(task);
  97. // publicThreadPool.execute(futureTask);
  98. // TestWarnTask task2 = new TestWarnTask(redisTemplate,kafkaTemplate,messagingTemplate,etlWarningService,rtuWarningService,rtuBaseInfoService,projectBaseInfoService,dataRainService,dataRiverService,dataRsvrService,dataGroundService,originalWarningService);
  99. // FutureTask<Integer> futureTask2 = new FutureTask<>(task2);
  100. // publicThreadPool.execute(futureTask2);
  101. // TestDataTask task = new TestDataTask(redisTemplate, kafkaTemplate, messagingTemplate, etlWarningService, rtuWarningService, rtuBaseInfoService, projectBaseInfoService, dataRainService, dataRiverService, dataRsvrService, dataGroundService, dictBizService, rtuManageService,etlRainDataService,etlRiverDataService,etlRsvrDataService,etlGroundDataService);
  102. // FutureTask<Integer> futureTask = new FutureTask<>(task);
  103. // publicThreadPool.execute(futureTask);
  104. } catch (Exception e) {
  105. log.error("{}", e.getMessage());
  106. }
  107. }
  108. }