|  | 7 years ago | |
|---|---|---|
| .. | ||
| src | 7 years ago | |
| pom.xml | 7 years ago | |
| readme.MD | 7 years ago | |
项目必须是springboot工程 quartz 版本 2.3.0
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${版本以项目中最新的版本为主}</version>
        </dependency>
        
quartz:
  namespace: svr-demo ##quartz的命名空间,名称一样实现消费负载
  overwriteExistingJobs: true ##是否覆盖job
@Autowired
private QuartzHelper quartzHelper;
      根据cronString表达式添加任务到quartz框架中
    public void addJob(
        Class jobClass,  job类
        String cronString,    cronString表达式
        String jobKey, 任务ID
        Map<String, Object> params 需要传递的参数
        ) throws Exception {
    }
     删除quartz框架中任务
    public void removeJob(
        String jobKeyString  任务ID
    ) throws Exception {
    }
     根据任务ID判断任务是否存在
    public boolean isExistJob(
        String jobKey 任务ID
    ) throws SchedulerException {
    }
    立即执行任务。
    public void startNow(
        Class jobClass,  job类
        String id,  任务ID
        Map<String, Object> params 需要传递的参数
    ) throws Exception {
    }
    在指定时间点执行。
    public void startAt(
        Date time,  时间
        Class jobClass,job类
        String id, 任务ID
        Map<String, Object> params 需要传递的参数
    ) throws Exception {
    }
    例如:   
    @Component
    @Scope("prototype")
    @DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
    public class FollowUpJob implements Job {
        @Autowired
        private WlyyQuotaResultDao wlyyQuotaResultDao;//指标结果Dao
        @Override
        public void execute(JobExecutionContext context)
                throws JobExecutionException {
        }
    }
    2.在方法中注入QuartzHelper对象并且把例子中的任务添加到quartz框架中  
    quartzHelper.startNow(FollowUpJob.class, "followUpjobID", params);