AlarmQuartzServiceImpl.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.persagy.service.impl;
  2. import com.persagy.service.AlarmQuartzService;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.quartz.Scheduler;
  5. import org.quartz.SchedulerException;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.beans.factory.annotation.Qualifier;
  8. import org.springframework.stereotype.Service;
  9. /**
  10. * @description:报警定时任务服务
  11. * @author:LuoGuanhyi
  12. * @company:PersagyTechnologyCo.,Ltd
  13. * @since:2020/9/18 001820:11
  14. * @version:V1.0
  15. **/
  16. @Slf4j
  17. @Service
  18. public class AlarmQuartzServiceImpl implements AlarmQuartzService {
  19. @Autowired
  20. @Qualifier("quartzScheduler")
  21. Scheduler quartzScheduler;
  22. /**
  23. * 添加定时器
  24. * @param startTime 添加报警恢复定时任务
  25. * @param jobName job名称
  26. * @param jobGroupName job分组
  27. * @param jobDataMap 触发器的数据(任务相关的数据都放在这里)
  28. * @return
  29. * @throws SchedulerException
  30. */
  31. // @Override
  32. // public synchronized String addCommand(Date startTime, String jobName, String jobGroupName, JobDataMap jobDataMap) throws SchedulerException {
  33. // if(startTime.before(new Date())){
  34. //// log.info("执行时间【{}】为历史时间,自动跳过",DateUtils.formatDate(startTime));
  35. // return "2";
  36. // }
  37. // JobKey jobKey = new JobKey(jobName, jobGroupName);
  38. // JobDetail jobDetail = JobBuilder.newJob(AlarmE.class).withIdentity(jobName, jobGroupName).build();
  39. // Trigger trigger = TriggerBuilder.newTrigger().startAt(startTime)
  40. // .withIdentity("trigger_" + jobName , jobName)
  41. // .usingJobData(jobDataMap)
  42. // .withSchedule(simpleSchedule().withMisfireHandlingInstructionIgnoreMisfires()).build();
  43. // //已经存在的job实例和触发器自动覆盖 job实 例 唯 一标识:
  44. // HashSet<Trigger> triggerSet = new HashSet<Trigger>();
  45. // Date fireTime = trigger.getFireTimeAfter(new Date());
  46. // if(fireTime != null){
  47. // log.info("执行时间为:【{}】,设置时间为【{}】",DateUtils.formatDate(fireTime),DateUtils.formatDate(startTime));
  48. // }else {
  49. // log.info("执行时间为 空!");
  50. // }
  51. // triggerSet.add(trigger);
  52. // quartzScheduler.scheduleJob(jobDetail, triggerSet, true);
  53. //
  54. // return "success";
  55. // }
  56. }