Quartz任务调度示例

定义作业类
package com.cn.task;


import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloJob implements Job{

	public HelloJob(){
		
	}
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		// TODO Auto-generated method stub
		System.out.println(new Date().getTime());
	}
}

定义测试类

package com.cn.task;


import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import static org.quartz.JobBuilder.*;
import static org.quartz.TriggerBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;

public class HelloJobTest {
	public void run() throws Exception {
		// 通过SchedulerFactory获取一个调度器实例
		SchedulerFactory sf = new StdSchedulerFactory();

		Scheduler sched = sf.getScheduler();

//		Date runTime = evenMinuteDate(new Date());
//
//		// 通过过JobDetail封装HelloJob,同时指定Job在Scheduler中所属组及名称,这里,组名为group1,而名称为job1。
//		JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1")
//				.build();
//
//		// 创建一个SimpleTrigger实例,指定该Trigger在Scheduler中所属组及名称。
//		// 接着设置调度的时间规则.当前时间运行
//		Trigger trigger = newTrigger().withIdentity("trigger1", "group1")
//				.startAt(runTime).build();

		// 注册并进行调度
//		sched.scheduleJob(job, trigger);

		// define the job and tie it to our HelloJob class
		JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1")
				.build();
		// Trigger the job to run now, and then repeat every 40 seconds
		Trigger trigger = newTrigger()
				.withIdentity("trigger1", "group1")
				.startNow()
				.withSchedule(
						simpleSchedule().withIntervalInSeconds(40)
								.repeatForever()).build();
		// Tell quartz to schedule the job using our trigger
		sched.scheduleJob(job, trigger);
		// 启动调度器
		sched.start();

		try {
			// 当前线程等待65秒
			Thread.sleep(65L * 1000L);
		} catch (Exception e) {

		}

		// 调度器停止运行
		sched.shutdown(true);

	}

	public static void main(String[] args) throws Exception {
		HelloJobTest example = new HelloJobTest();
		example.run();
	}
}


引用jar可以直接到官网下载:http://www.quartz-scheduler.org/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值