Quartz+动态调度.doc
文本预览下载声明
1.Quartz 动态更新任务调度
quartz-1.5.2.jar包
第二步:编写重置Quartz任务调度java类/接口
SchedulerService.java
package com.tds.rpt.jzh.util;
import java.text.ParseException;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.scheduling.quartz.CronTriggerBean;
/**
* 重置Quartz任务调度
*
* @author chenguoyong
*
*/
public class SchedulerService {
public Scheduler scheduler;
/**
* @param scheduler
* The scheduler to set.
*/
public void setScheduler(Scheduler scheduler) {
this.scheduler = scheduler;
}
public Scheduler getScheduler() {
return scheduler;
}
/**
* 重置Quartz任务调度的方法
* @param triggerName
* @param triggerId
* @throws SchedulerException
* @throws ParseException
*/
public void updateNotificationInterval(String triggerName, String triggerId)
throws SchedulerException, ParseException {
// 得到trigger
CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
compareTrigger, Scheduler.DEFAULT_GROUP);
// 得到cron expression
String cronExpression = 0 29 15 ? * *;
// 设置trigger的时间规则
trigger.setCronExpression(cronExpression);
// 重置job
scheduler.rescheduleJob(compareTrigger, Scheduler.DEFAULT_GROUP,
trigger);
System.out.println(重置:job:dfsfsf);
}
/**
* 任务调用的目标方法
*
*/
public void compare() {
System.out.println(任务:dfsfsf);
}
}
第三步:在spring配置文件中进行配置
applicationContext-hibernate.xml
!—任务配置开始--
bean id=compareService class=com.tds.rpt.jzh.util.SchedulerService
property name=scheduler
ref local=schedulerFactory /
/property
/bean
bean id=compareJob class=org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
property name=targetObject
ref local=compareService /
/property
property name=targetMethod
valuecompare/value
/property
/bean
bean id=compareTrigger class=org.springframework.scheduling.quartz.CronTriggerBean
property name=jobDetail
ref local=compareJob /
/property
!—任务调度的原始初始时间--
prop
显示全部