pause : 暂停一个触发器。如果是持久化的 quartz,此触发器的状态会被写到库中,哪怕是重启应用后,
也不会触发,因为状态是持久化的。若更新 quartz 配置文件中的该触发器的属性,如 cron 表达式,则内存和数据库中已持久化的数据都不会被更新。
resume : 重置一个触发器的状态为运行状态,下次可调度。对一个不处于 pause 状态的触发器调用此方法无效果。此方法会改变触发器的持久化状态。
remove : 删除一个触发器(若是 cron 触发器,则它关联的 job 也会被删除),此处,删除的含义是,内存中删除,若是持久化 quartz,则库中的 trigger 和 job 也会被删除。
重启应用后,若原来的配置文件不变更,则被删除的 trigger 和 job 会被加回来,并且处于可触发的状态。
以下是完整的管理类。
package org.summer.spi.quartz;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.summer.exception.spe.SummerException;
import org.summer.spi.spe.JobTriggerManageService;
public class JobTriggerManagerServiceImpl implements JobTriggerManageService {
private Scheduler scheduler;
private final Logger logger = LoggerFactory.getLogger(this.getClass());
public void setScheduler(Scheduler scheduler) {
this.scheduler = scheduler;
}
public JobTriggerManagerServiceImpl() {
// TODO Auto-generated constructor stub
}
@Override
public List