quartz学习入门(一)
来源:互联网 发布:snmp编程 交换机 编辑:程序博客网 时间:2024/05/21 17:38
第一个最简单的demo:
import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.impl.StdSchedulerFactory;public class quartzClass { public static void main(String[] args)throws SchedulerException { Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); scheduler.shutdown(true); }}其中
StdSchedulerFactory.getDefaultScheduler()方法会去读取classpath下的quartz.properties并加载,构建出一个Scheduler来
scheduler.start 和scheduler.shutdown分别表示scheduler的开始和结束。
第二个较为简单的例子,使用SimpleTrigger,在某一时间触发某个行为:
quartClass.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").startAt(rundate).build();scheduler.scheduleJob(job, trigger);scheduler.start();try {Thread.sleep(60L * 1000L);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}scheduler.shutdown(true);}}
MyJob.java:
public class MyJob implements Job{@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {System.out.println("startTime:"+new Date());}}quartz.properties:
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 10org.quartz.threadPool.threadPriority = 5org.quartz.jobStore.class = org.quartz.simpl.RAMJobStoreorg.quartz.scheduler.instanceName = MyScheduler
1.JobBuilder.newJob(MyJob.class).withIdentity("Job1", "group1").build();
创建一个新的MyJob类的实例,任务名为Job1,组名为gourp1
2.TriggerBuilder.newTrigger().withIdentity("Trigger1", "gourp1").startAt(rundate).build();
创建一个触发器Trigger,触发器的开始时间为rundate
3.scheduler.scheduleJob(job, trigger);
将任务和触发器都放进调度器中。准备执行
4.scheduler.start();
执行调度,每当满足时间条件时,都会自动执行一次job中的execute方法
5.Thread.sleep(60L*1000L);
进程进入睡眠状态,在此期间可以正常的执行调度,但是如果进程重新唤醒了而调度任务还未执行完,则会放弃调度任务。也就是说sleep()中的时间就是这个scheduler的生命期限。
6.scheduler.shutdown(true);
完成调度并关闭。
- quartz学习入门(一)
- quartz学习一--入门
- Quartz框架入门学习(一)
- Quartz.NET学习系列(一)--- 快速入门
- Quartz定时器快速入门学习(一)
- quartz学习笔记(一)简单入门
- quartz快速入门(一)
- quartz入门学习
- quartz入门学习
- quartz 学习一
- Quartz学习(一)
- Quartz学习阶段一
- Quartz.net使用入门(一)
- Quartz入门Demo(一)
- Quartz学习(一)--初始Quartz
- Quartz学习,入门到精通
- quartz入门学习(二)
- quartz 2.1学习(一)
- js:警告框,提示框,确认框的用法及区别
- android json解析及简单例子
- 视频与图像RGB/YUV格式详解
- bonding
- Python标准库13 循环器 (itertools)
- quartz学习入门(一)
- Condition的使用,实现三个线程互斥执行。
- 剑指Offer11数值的整数次方
- 获取本机IP地址函数
- Google Play In-app Billing
- hd 2084 数塔(dp)
- HDU 1232-畅通工程(并查集)
- mysql全备脚本升级版,支持多台主机,多个数据库
- BestCoder Round #4(Happy Three Friends-贪心)