![JAR search and dependency download from the Maven repository](/logo.png)
com.blazebit.quartz.JobUtils Maven / Gradle / Ivy
/*
* Copyright 2011 Blazebit
*/
package com.blazebit.quartz;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.quartz.Job;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobKey;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.impl.matchers.GroupMatcher;
/**
*
* @author Christian Beikov
* @since 0.1.2
*/
public class JobUtils {
public static void add(Scheduler sched, Class extends Job> clazz,
String jobName, String jobGroup,
Map dataMap) throws SchedulerException {
sched.addJob(create(clazz, jobName, jobGroup, dataMap, true), false);
}
public static void schedule(Scheduler sched, Class extends Job> clazz,
String jobName, String jobGroup,
Map dataMap) throws SchedulerException {
Trigger trigger = TriggerUtils.simple(null, null, jobName, jobGroup,
null, null, null);
schedule(sched, clazz, jobName, jobGroup, dataMap, trigger);
}
public static void schedule(Scheduler sched, Class extends Job> clazz,
String jobName, String jobGroup,
Map dataMap, Trigger trigger)
throws SchedulerException {
add(sched, clazz, jobName, jobGroup, dataMap);
TriggerUtils.schedule(trigger);
}
public static void pause(Scheduler sched, JobDetail job)
throws SchedulerException {
pause(sched, job.getKey());
}
public static void pause(Scheduler sched, JobKey key)
throws SchedulerException {
sched.pauseJob(key);
}
public static void resume(Scheduler sched, JobDetail job)
throws SchedulerException {
resume(sched, job.getKey());
}
public static void resume(Scheduler sched, JobKey key)
throws SchedulerException {
sched.resumeJob(key);
}
public static void delete(Scheduler sched, JobDetail job)
throws SchedulerException {
delete(sched, job.getKey());
}
public static void delete(Scheduler sched, JobKey key)
throws SchedulerException {
sched.deleteJob(key);
}
public static void trigger(Scheduler sched, JobDetail job)
throws SchedulerException {
trigger(sched, job.getKey());
}
public static void trigger(Scheduler sched, JobKey key)
throws SchedulerException {
sched.triggerJob(key);
}
public static List getJobs(Scheduler sched)
throws SchedulerException {
List jobDetails = new ArrayList();
List jobGroups = sched.getJobGroupNames();
for (int i = 0; i < jobGroups.size(); i++) {
String name = jobGroups.get(i);
Set keys = sched.getJobKeys(GroupMatcher
.jobGroupEquals(name));
Iterator iter = keys.iterator();
while (iter.hasNext()) {
jobDetails.add(sched.getJobDetail(iter.next()));
}
}
return jobDetails;
}
public static List getTriggers(Scheduler sched, JobDetail job)
throws SchedulerException {
return getTriggers(sched, job.getKey());
}
@SuppressWarnings("unchecked")
public static List getTriggers(Scheduler sched, JobKey key)
throws SchedulerException {
return (List) sched.getTriggersOfJob(key);
}
private static JobDetail create(Class extends Job> clazz, String jobName,
String jobGroup, Map dataMap,
boolean durable) throws SchedulerException {
return JobBuilder.newJob(clazz).withIdentity(jobName, jobGroup)
.usingJobData(new JobDataMap(dataMap)).storeDurably(durable)
.build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy