Quartz的简单实例

1、Job

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.Trigger;

public class FirstJob implements Job {

	Double triggerDouble;//与jobDataMap的key一一对应
	
	public Double getTriggerDouble() {
		return triggerDouble;
	}

	public void setTriggerDouble(Double triggerDouble) {
		this.triggerDouble = triggerDouble;
	}

	public void execute(JobExecutionContext context) throws JobExecutionException {
		System.out.println("Job Start Time Is: "+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
		System.out.println("Hello World!");
		System.out.println("打印job上下文信息");
		JobKey key = context.getJobDetail().getKey();
		System.out.println("key: "+key.getName()+"+"+key.getGroup());
		JobDataMap dataMap = context.getMergedJobDataMap();
		System.out.println("message: "+dataMap.getString("message"));
		System.out.println("triggerDouble:"+ triggerDouble);
		Trigger currentTrigger = context.getTrigger();
		System.out.println("trigger start Time is: "+currentTrigger.getStartTime());
	}

}

2、执行quartz

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.DirectSchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;

public class Quartz {

	public static void main(String[] args) throws SchedulerException {
		// JobDetail
		JobDetail jobDetail = JobBuilder.newJob(FirstJob.class).withIdentity("firstJob", "firstJobGroup")
				.usingJobData("message", "firstJobMessage").build();
		// Trigger
		/*Trigger trigger = TriggerBuilder.newTrigger()
		  		.withIdentity("firstTrigger", "firstTriggerGroup")
				.usingJobData("triggerDouble", 123.321D).startNow()
				.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();*/
		/*SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("firstTrigger", "firstTriggerGroup")
				.usingJobData("triggerDouble", 123.321D)
				.startAt(new Date())
				.endAt(new Date())
				.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();*/
		CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("firstTrigger", "firstTriggerGroup")
				.usingJobData("triggerDouble", 123.321D)
				.startAt(new Date())
				.endAt(new Date())
				.withSchedule(CronScheduleBuilder.cronSchedule("")).build();
		// schedule
		SchedulerFactory factory = new StdSchedulerFactory();
		Scheduler scheduler = factory.getScheduler();
		/*DirectSchedulerFactory  factory = DirectSchedulerFactory.getInstance();
		Scheduler scheduler = factory.getScheduler();*/
		scheduler.start();
		System.out.println("Current Time Is: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
		scheduler.scheduleJob(jobDetail, trigger);//近期trigger触发的时间
	}
}

3、基础知识如上一篇的quartz浅析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值