看完入门一程序,接下来接着讲解入门二.
JobDetail jobDetail = new JobDetail();
jobDetail.setJobClass(QuartzReport.class);
jobDetail.setName("MyJob_1");
jobDetail.setGroup("JobGroup_1");
1、创建JobDetial对象,设置工作项,这里有一个概念,JobClass,Name,Group.
上一讲的初始化程序为
public JobDetail(String name, String group, Class jobClass) {
setName(name);
setGroup(group);
setJobClass(jobClass);
}
创建JobDetail给定JobClass,Name,group,如果group为空,则组为Scheduler.DEFAULT_GROUP默认组.其实是一样的。
SimpleTrigger strigger = new SimpleTrigger();
strigger.setName("Trigger_1");
strigger.setGroup("Trigger_Group_1");
strigger.setStartTime(new Date());
2、创建Trigger对象 ,这是一个简单的Trigger对象,设置了name,group,startTime.
上一讲的初始化程序为
public CronTrigger(String name, String group) {
super(name, group);
setStartTime(new Date());
setTimeZone(TimeZone.getDefault());
}
创建CronTrigger给定名称和组,默认开始时间为当前时间.
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis() + 1000 * 1L);
strigger.setEndTime(c.getTime());
3. 设置重复停止时间,并销毁该Trigger对象,上一节没有停止时间
strigger.setRepeatInterval(1000 * 1L);
strigger.setRepeatCount(3);
4. 设置重复间隔时间,设置重复执行次数
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
scheduler = sf.getScheduler();
scheduler.scheduleJob(jobDetail, strigger);
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
5、创建Scheduler对象,并配置JobDetail和Trigger对象.并开启
try {
scheduler.shutdown(true);
} catch (SchedulerException e) {
e.printStackTrace();
}
6. 关闭调度器
经过以上概念的分析和理解,大概已经知道了调度器需要任务详情,触发详情,任务启动,任务关闭,而任务详情包括任务类,任务名称,任务组,触发详情包括触发开始时间,触发结束时间,触发间隔时间,触发执行次数,任务的启动和中止等。
以下是总的例子
public class TestJob2 {
public static void main(String[] args) {
JobDetail jobDetail = new JobDetail();
jobDetail.setJobClass(QuartzReport.class);
jobDetail.setName("MyJob_1");
jobDetail.setGroup("JobGroup_1");
SimpleTrigger strigger = new SimpleTrigger();
strigger.setName("Trigger_1");
strigger.setGroup("Trigger_Group_1");
strigger.setStartTime(new Date());
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis() + 1000 * 1L);
strigger.setEndTime(c.getTime());
strigger.setRepeatInterval(100 * 1L);
strigger.setRepeatCount(100);
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
scheduler = sf.getScheduler();
scheduler.scheduleJob(jobDetail, strigger);
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
try {
scheduler.shutdown(true);
} catch (SchedulerException e) {
e.printStackTrace();
}
}
分享到:
相关推荐
在 myeclipse6.0.1下调试成功可直接运行的spring的quartz的例子,很适合刚接触quartz调度学习。
定时器框架学习资料,入门手册,新手专用!帮你快速入门开发搭建自己的定时器框架环境
Quartz框架快速入门Quartz框架快速入门
Quartz入门Demo,栗子全,注释详细。还有Spring结合的demo,一共两个Demo外加Quartz开发资料,绝对超值。欢迎大家共同交流。
Quartz定时器从入门到进阶,详细介绍Quartz定时器API和使用示例。
quartz入门共3页.pdf.zip
非常详细的Quartz详细入门教程。新手值得一看,高手请忽略。
quartz scheduler getting started 的翻译
Quartz详细入门教程.zip
Quartz中文入门教程 前言 Quartz让任务调度简单 Quartz的发展史 上手Quartz Quartz内部架构 作业 作业管理和存储 有效作业存储 作业和触发器 调度一个作业 用调度器(Scheduler)调用你的作业 编程调度...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群...
Quartz如何从入门到精通
Quartz 框架快速入门 在前面两篇文章中简单介绍了在java应用程序中如何使用Quartz框架,这一篇中我们将看到如何在web环境下通过配置文件来完成Quartz的后台作业调度,而不必手工去创建Trigger和Scheduler
Quartz概述及入门实例,具体过程和效果看博文 http://blog.csdn.net/evankaka/article/details/45361469
Quartz入门教程,快如上手,讲解明了易懂
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。
Quartz框架快速入门.pdf
Quartz从入门到精通.doc 定时,调度