CronTrigger的使用

CronTrigger表达式时间字段
位置时间域名允许值允许的特殊字符
10-59,-*/
2分钟0-59,-*/
3小时0-23,-*/
4日期1-31,-*?/L W C
5月份1-12,-*/
6星期1-7,-*?/L C #
7年(可选)空值 1970-2099,-*/

实例:

import java.util.Date;

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

public class SimpleJob implements Job {

	@Override
	public void execute(JobExecutionContext jobCtx)
			throws JobExecutionException {
		System.out.println(jobCtx.getTrigger().getName() +  " triggered.time.is:" + (new Date()));
	}
}

 

import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;

public class CronTriggerRunner {
	public static void main(String[] args) {
		try {
			//创建一个JobDdtail实例,指定SimpleJob,组名为jgroup1,名称为job1_2
			JobDetail jobDetail = new JobDetail("job1_2", "jgroup1", SimpleJob.class);
			
			//创建CronTrigger,指定组及名称
			CronTrigger cronTrigger = new CronTrigger("trigger1_2", "tgroup1");
			//定义Cron表达式,每隔5秒运行一次
			CronExpression cexp = new CronExpression("0/5 * * * * ?");
			
			cronTrigger.setCronExpression(cexp);
			
			//通过SchedulerFactory获取一个调度器实例
			SchedulerFactory schedulerFactory = new StdSchedulerFactory();
			Scheduler scheduler = schedulerFactory.getScheduler();
			
			//注册并进行调度
			scheduler.scheduleJob(jobDetail, cronTrigger);
			//调度开始
			scheduler.start();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

 运行结果:

trigger1_2 triggered.time.is:Wed Apr 17 16:44:50 CST 2013

trigger1_2 triggered.time.is:Wed Apr 17 16:44:55 CST 2013

trigger1_2 triggered.time.is:Wed Apr 17 16:45:00 CST 2013

trigger1_2 triggered.time.is:Wed Apr 17 16:45:05 CST 2013

默认情况下Cron表达式对应当前的时区,可以通过CronTriggerRunner的setTimeZone(java.util.TimeZone timeZone)方法显式指定时区。用户也可以通过setStartTime(java.util.Date startTime)和setEndTime(java.util.Date endTime)指定开始和结束的时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值