一个最简单的 Quartz 列子

Quartz 是一个最强大的任务调度框架,基于Java开发,涉及的主要有三个东西


任务  (要执行的业务逻辑 )  触发器 (执行的时间)  调度器(控制执行的控制器)


下面我写了一个最简单的例子,如下


package com.quartz.test.hello;

import java.util.Date;

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

/**
 * 任务类,每两秒执行一次hello world
 * @author 星驰太帅了
 *
 */
public class HelloJob implements Job{

	@Override
	public void execute(JobExecutionContext context) throws JobExecutionException {
		System.out.println(new Date() + "  :  " + "hello world");
	}

}


package com.quartz.test.hello;

import java.util.Date;

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

/**
 * 任务调度测试类
 * @author 星驰太帅了
 *
 */
public class HelloSchedluer {

	public static void main(String[] args) throws Exception{
		
		//绑定job到jobdetail 上
		JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
							  .withIdentity("myJob", "group1") //唯一标记符
				              .build(); 
		jobDetail.getJobDataMap().put("name", "zxc");
		//创建一个最简单的触发器
		
		Date date = new Date();
		date.setTime(date.getTime() + 3000); 
		Trigger trigger = TriggerBuilder.newTrigger()
				          .withIdentity("myTrigger", "group1") //唯一标记符
				          .startAt(date) //3秒后执行此任务
				          .withSchedule(SimpleScheduleBuilder.simpleSchedule()  //创建一个简单的调度器
				        		        .withIntervalInSeconds(2000)  // 每2秒执行一次
				        		        .repeatForever()) // 永远重复执行
				          
				          .build();
		
		//创建调度器
		Scheduler scheduler = new StdSchedulerFactory().getScheduler(); // 通过 StdSchedulerFactory 获取一个简单的调度器
		
		//绑定调度器要执行的任务和任务的执行逻辑
		scheduler.scheduleJob(jobDetail, trigger);
		
		//开始执行
		scheduler.start();
	}
}



执行效果为:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值