package com.sinosoft.cn.main; import org.quartz.DisallowConcurrentExecution; import org.quartz.Job; import org.quartz.JobExecutionContext; //防止单个job并行 @DisallowConcurrentExecution public class InserPolicyInfoQuartz implements Job { public void execute(JobExecutionContext context) { //具体业务逻辑 InserPolicyInfo ipi = new InserPolicyInfo(); ipi.savePolicyInfo(); } }
package com.sinosoft.cn.main; import static org.quartz.CronScheduleBuilder.cronSchedule; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; public class QuartzTest { public static void main(String[] args) { //创建工厂scheduler SchedulerFactory schedulerfactory = new StdSchedulerFactory(); Scheduler scheduler = null; try { // 通过schedulerFactory获取一个调度器 scheduler = schedulerfactory.getScheduler(); // 指明job的名称,所在组的名称,以及绑定job类 JobDetail job = JobBuilder.newJob(InserPolicyInfoQuartz.class).withIdentity("JobName", "JobGroupName").usingJobData("name", "quartz").build(); //定义一个Trigger(规定 每天0点8点16点各运行一次) Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1") //定义name/group .withSchedule(cronSchedule("0 0/5 * * * ?")) // .withSchedule(cronSchedule("0 0/1 9-23 * * ?")) // .withSchedule(cronSchedule("0 0 0,8,16 * * ?")) .startNow() .build(); // 把作业和触发器注册到任务调度中 scheduler.scheduleJob(job, trigger); // 启动调度 scheduler.start(); //运行一段时间后关闭 // Thread.sleep(10000); // scheduler.shutdown(true); } catch (Exception e) { e.printStackTrace(); } } }