读书人

quartz学习一

发布时间: 2012-09-27 11:11:17 作者: rapoo

quartz学习1
(2).quartz用类实现

导入commons-digester.jar

某个action或者类实现Job接口,并实现或重写其execute方法

需要定义写一个trigger类,也可以写成一个方法

注意:关键代码:

//1.通过SchedulerFactory来获取一个调度器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();

2.设置页面表单内容到JobExecutionContext里面

jobDetail.getJobDataMap().put("monitorName", monitorName);
jobDetail.getJobDataMap().put("mailTo", mailTo);

3.1实例化crontrigger采用cronTrigger

CronTrigger cronTrigger=new CronTrigger("cronTrigger"myModel.getId()"-"+random,Scheduler.DEFAULT_GROUP,monitorTime);
scheduler.scheduleJob(jobDetail, cronTrigger);

3.2或者

//采用simpleTrigger
SimpleTrigger simpleTrigger =
new SimpleTrigger("simpleTrigger", "triggerGroup-s1");
//设置作业启动时间
long ctime = System.currentTimeMillis();
simpleTrigger.setStartTime(new Date(ctime));
//设置作业执行间隔
simpleTrigger.setRepeatInterval(100000);
//设置作业执行次数
simpleTrigger.setRepeatCount(3);
//设置作业执行优先级默认为5
//simpleTrigger.setPriority(10);
//作业和触发器设置到调度器中
scheduler.scheduleJob(jobDetail, simpleTrigger);

4.//启动调度器
scheduler.start();

在execute方法里面获取放入的内容

String monitorName = (String)arg0.getJobDetail().getJobDataMap().get("monitorName");
String type = (String)arg0.getJobDetail().getJobDataMap().get("type");
String[] mailTo=(String[])arg0.getJobDetail().getJobDataMap().get("mailTo");

读书人网 >互联网

热点推荐