quartz的使用实例

注意:1.实现Job接口
      2.代码中的Job类是通过反射创建,不能使内部类
SchedulerFactory sf = new StdSchedulerFactory();
        try {
            scheduler = sf.getScheduler();
            JobDetail job = JobBuilder.newJob(Job.class).build();
            job.getJobDataMap().put("sourceDir", sourceDir);
            job.getJobDataMap().put("br", br);
            job.getJobDataMap().put("cqm", cqm);
            job.getJobDataMap().put("fqm", fqm);
            Trigger trigger = TriggerBuilder.newTrigger()
                    .withSchedule(CronScheduleBuilder.cronSchedule(“* * * * * ?”))
                    .build();
            scheduler.scheduleJob(job, trigger);
            scheduler.start();
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }

  @Override
public void execute(JobExecutionContext context) throws JobExecutionException {
    String sourceDir = (String) context.getJobDetail().getJobDataMap().get("sourceDir");
    BreakpointRecorder br = (BreakpointRecorder) context.getJobDetail().getJobDataMap().get("br");
    CollectQualityMonitoring cqm = (CollectQualityMonitoring) context.getJobDetail().getJobDataMap().get("cqm");
    FilterQualityMonitoring fqm = (FilterQualityMonitoring) context.getJobDetail().getJobDataMap().get("fqm");
    recursiveSourceDir(sourceDir, br, cqm, fqm);
}

你可能感兴趣的:(quartz的使用实例)