quartz入门学习(二)

可重复执行的scheduler,使用simpleTrigger,由于其他代码相同,在这里指给出quartzClass的java代码:
quartzClass.java:


public class quartzClass {
	public static void main(String[] args) throws SchedulerException {
		Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
		Date rundate = new Date();
		JobDetail job = JobBuilder.newJob(MyJob.class)
				.withIdentity("Job1", "group1").build();
		Trigger trigger = TriggerBuilder
				.newTrigger()
				.withIdentity("Trigger1", "gourp1")
				.withSchedule(
						SimpleScheduleBuilder.simpleSchedule()
								.withRepeatCount(10).withIntervalInSeconds(5))
				.startAt(rundate).build();
		scheduler.scheduleJob(job, trigger);
		scheduler.start();

		try {
			Thread.sleep(60L * 1000L);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		scheduler.shutdown(true);
	}
}




与入门学习(一)中的例子二不同之处在于
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("Trigger1", "gourp1")
                           .withSchedule(SimpleScheduleBuilder.simpleSchedule().withRepeatCount(10)
                           .withIntervalInSeconds(5)).startAt(rundate).build();
多加了一些代码。
withRepeatCount(10)表示一共执行10次。
withIntervalinseconds(5)表示每隔五秒钟执行一次




可重复执行的scheduler,使用CronTrigger:

public class quartzClass {
	public static void main(String[] args) throws SchedulerException {
		Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
		Date rundate = new Date();
		JobDetail job = JobBuilder.newJob(MyJob.class)
				.withIdentity("Job1", "group1").build();
		CronTrigger trigger = TriggerBuilder.newTrigger()
				.withIdentity("Trigger1", "gourp1")
				.withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ?"))
				.build();
		scheduler.scheduleJob(job, trigger);
		scheduler.start();

		try {
			Thread.sleep(60L * 1000L);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		scheduler.shutdown(true);
	}
}





CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity("Trigger1", "gourp1").withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ?")).build();
scheduler.scheduleJob(job, trigger);


withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ?"))
括号中的内容为schedule的表达式,与linux中的相似。
星号:表示任意时刻
问号:只能在日或周字段上使用,http://blog.csdn.net/chh_jiang/article/details/4603529 这里有比较清晰的解释,简单的理解就是日期和星期是有冲突的,指定其中一个的话,另外一个是没办法指定的,比如每个月12号和每个星期二,这两个是"互斥"的,不能用日期和周来指定所有“每个是星期二的12号”这个时间。
减号:范围,如 1-5秒
逗号:列表,如 1,5,10 秒
斜杠:等步长序列,如3/13秒 表示 3,16,29,42,55,3,16...
L:仅在日和周上支持,表示允许的最后一个值,注意不要让范围和列表与L连用
W:工作日
井号:为给定月份指定具体的工作日实例。把“MON#2”放在周内日期字段中,表示把任务安排在当月的第二个星期一。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值