|
|
|
@ -84,9 +84,9 @@ public class QuartzEndpoint {
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
@ReadOperation
|
|
|
|
|
public QuartzReport quartzReport() throws SchedulerException {
|
|
|
|
|
return new QuartzReport(new GroupNames(this.scheduler.getJobGroupNames()),
|
|
|
|
|
new GroupNames(this.scheduler.getTriggerGroupNames()));
|
|
|
|
|
public QuartzDescriptor quartzReport() throws SchedulerException {
|
|
|
|
|
return new QuartzDescriptor(new GroupNamesDescriptor(this.scheduler.getJobGroupNames()),
|
|
|
|
|
new GroupNamesDescriptor(this.scheduler.getTriggerGroupNames()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -94,14 +94,14 @@ public class QuartzEndpoint {
|
|
|
|
|
* @return the available job names
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
public QuartzGroups quartzJobGroups() throws SchedulerException {
|
|
|
|
|
public QuartzGroupsDescriptor quartzJobGroups() throws SchedulerException {
|
|
|
|
|
Map<String, Object> result = new LinkedHashMap<>();
|
|
|
|
|
for (String groupName : this.scheduler.getJobGroupNames()) {
|
|
|
|
|
List<String> jobs = this.scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName)).stream()
|
|
|
|
|
.map((key) -> key.getName()).toList();
|
|
|
|
|
result.put(groupName, Collections.singletonMap("jobs", jobs));
|
|
|
|
|
}
|
|
|
|
|
return new QuartzGroups(result);
|
|
|
|
|
return new QuartzGroupsDescriptor(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -109,7 +109,7 @@ public class QuartzEndpoint {
|
|
|
|
|
* @return the available trigger names
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
public QuartzGroups quartzTriggerGroups() throws SchedulerException {
|
|
|
|
|
public QuartzGroupsDescriptor quartzTriggerGroups() throws SchedulerException {
|
|
|
|
|
Map<String, Object> result = new LinkedHashMap<>();
|
|
|
|
|
Set<String> pausedTriggerGroups = this.scheduler.getPausedTriggerGroups();
|
|
|
|
|
for (String groupName : this.scheduler.getTriggerGroupNames()) {
|
|
|
|
@ -119,7 +119,7 @@ public class QuartzEndpoint {
|
|
|
|
|
.stream().map((key) -> key.getName()).toList());
|
|
|
|
|
result.put(groupName, groupDetails);
|
|
|
|
|
}
|
|
|
|
|
return new QuartzGroups(result);
|
|
|
|
|
return new QuartzGroupsDescriptor(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -129,16 +129,16 @@ public class QuartzEndpoint {
|
|
|
|
|
* @return a summary of the jobs in the given {@code group}
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
public QuartzJobGroupSummary quartzJobGroupSummary(String group) throws SchedulerException {
|
|
|
|
|
public QuartzJobGroupSummaryDescriptor quartzJobGroupSummary(String group) throws SchedulerException {
|
|
|
|
|
List<JobDetail> jobs = findJobsByGroup(group);
|
|
|
|
|
if (jobs.isEmpty() && !this.scheduler.getJobGroupNames().contains(group)) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
Map<String, QuartzJobSummary> result = new LinkedHashMap<>();
|
|
|
|
|
Map<String, QuartzJobSummaryDescriptor> result = new LinkedHashMap<>();
|
|
|
|
|
for (JobDetail job : jobs) {
|
|
|
|
|
result.put(job.getKey().getName(), QuartzJobSummary.of(job));
|
|
|
|
|
result.put(job.getKey().getName(), QuartzJobSummaryDescriptor.of(job));
|
|
|
|
|
}
|
|
|
|
|
return new QuartzJobGroupSummary(group, result);
|
|
|
|
|
return new QuartzJobGroupSummaryDescriptor(group, result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<JobDetail> findJobsByGroup(String group) throws SchedulerException {
|
|
|
|
@ -157,20 +157,20 @@ public class QuartzEndpoint {
|
|
|
|
|
* @return a summary of the triggers in the given {@code group}
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
public QuartzTriggerGroupSummary quartzTriggerGroupSummary(String group) throws SchedulerException {
|
|
|
|
|
public QuartzTriggerGroupSummaryDescriptor quartzTriggerGroupSummary(String group) throws SchedulerException {
|
|
|
|
|
List<Trigger> triggers = findTriggersByGroup(group);
|
|
|
|
|
if (triggers.isEmpty() && !this.scheduler.getTriggerGroupNames().contains(group)) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
Map<TriggerType, Map<String, Object>> result = new LinkedHashMap<>();
|
|
|
|
|
triggers.forEach((trigger) -> {
|
|
|
|
|
TriggerDescription triggerDescription = TriggerDescription.of(trigger);
|
|
|
|
|
Map<String, Object> triggerTypes = result.computeIfAbsent(triggerDescription.getType(),
|
|
|
|
|
TriggerDescriptor triggerDescriptor = TriggerDescriptor.of(trigger);
|
|
|
|
|
Map<String, Object> triggerTypes = result.computeIfAbsent(triggerDescriptor.getType(),
|
|
|
|
|
(key) -> new LinkedHashMap<>());
|
|
|
|
|
triggerTypes.put(trigger.getKey().getName(), triggerDescription.buildSummary(true));
|
|
|
|
|
triggerTypes.put(trigger.getKey().getName(), triggerDescriptor.buildSummary(true));
|
|
|
|
|
});
|
|
|
|
|
boolean paused = this.scheduler.getPausedTriggerGroups().contains(group);
|
|
|
|
|
return new QuartzTriggerGroupSummary(group, paused, result);
|
|
|
|
|
return new QuartzTriggerGroupSummaryDescriptor(group, paused, result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<Trigger> findTriggersByGroup(String group) throws SchedulerException {
|
|
|
|
@ -183,21 +183,21 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return the {@link QuartzJobDetails details of the job} identified with the given
|
|
|
|
|
* group name and job name.
|
|
|
|
|
* Return the {@link QuartzJobDetailsDescriptor details of the job} identified with
|
|
|
|
|
* the given group name and job name.
|
|
|
|
|
* @param groupName the name of the group
|
|
|
|
|
* @param jobName the name of the job
|
|
|
|
|
* @param showUnsanitized whether to sanitize values in data map
|
|
|
|
|
* @return the details of the job or {@code null} if such job does not exist
|
|
|
|
|
* @throws SchedulerException if retrieving the information from the scheduler failed
|
|
|
|
|
*/
|
|
|
|
|
public QuartzJobDetails quartzJob(String groupName, String jobName, boolean showUnsanitized)
|
|
|
|
|
public QuartzJobDetailsDescriptor quartzJob(String groupName, String jobName, boolean showUnsanitized)
|
|
|
|
|
throws SchedulerException {
|
|
|
|
|
JobKey jobKey = JobKey.jobKey(jobName, groupName);
|
|
|
|
|
JobDetail jobDetail = this.scheduler.getJobDetail(jobKey);
|
|
|
|
|
if (jobDetail != null) {
|
|
|
|
|
List<? extends Trigger> triggers = this.scheduler.getTriggersOfJob(jobKey);
|
|
|
|
|
return new QuartzJobDetails(jobDetail.getKey().getGroup(), jobDetail.getKey().getName(),
|
|
|
|
|
return new QuartzJobDetailsDescriptor(jobDetail.getKey().getGroup(), jobDetail.getKey().getName(),
|
|
|
|
|
jobDetail.getDescription(), jobDetail.getJobClass().getName(), jobDetail.isDurable(),
|
|
|
|
|
jobDetail.requestsRecovery(), sanitizeJobDataMap(jobDetail.getJobDataMap(), showUnsanitized),
|
|
|
|
|
extractTriggersSummary(triggers));
|
|
|
|
@ -213,7 +213,7 @@ public class QuartzEndpoint {
|
|
|
|
|
Map<String, Object> triggerSummary = new LinkedHashMap<>();
|
|
|
|
|
triggerSummary.put("group", trigger.getKey().getGroup());
|
|
|
|
|
triggerSummary.put("name", trigger.getKey().getName());
|
|
|
|
|
triggerSummary.putAll(TriggerDescription.of(trigger).buildSummary(false));
|
|
|
|
|
triggerSummary.putAll(TriggerDescriptor.of(trigger).buildSummary(false));
|
|
|
|
|
result.add(triggerSummary);
|
|
|
|
|
});
|
|
|
|
|
return result;
|
|
|
|
@ -232,10 +232,12 @@ public class QuartzEndpoint {
|
|
|
|
|
throws SchedulerException {
|
|
|
|
|
TriggerKey triggerKey = TriggerKey.triggerKey(triggerName, groupName);
|
|
|
|
|
Trigger trigger = this.scheduler.getTrigger(triggerKey);
|
|
|
|
|
return (trigger != null)
|
|
|
|
|
? TriggerDescription.of(trigger).buildDetails(this.scheduler.getTriggerState(triggerKey),
|
|
|
|
|
sanitizeJobDataMap(trigger.getJobDataMap(), showUnsanitized))
|
|
|
|
|
: null;
|
|
|
|
|
if (trigger == null) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
TriggerState triggerState = this.scheduler.getTriggerState(triggerKey);
|
|
|
|
|
return TriggerDescriptor.of(trigger).buildDetails(triggerState,
|
|
|
|
|
sanitizeJobDataMap(trigger.getJobDataMap(), showUnsanitized));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static Duration getIntervalDuration(long amount, IntervalUnit unit) {
|
|
|
|
@ -275,38 +277,37 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A report of available job and trigger group names, primarily intended for
|
|
|
|
|
* serialization to JSON.
|
|
|
|
|
* Description of available job and trigger group names.
|
|
|
|
|
*/
|
|
|
|
|
public static final class QuartzReport {
|
|
|
|
|
public static final class QuartzDescriptor {
|
|
|
|
|
|
|
|
|
|
private final GroupNames jobs;
|
|
|
|
|
private final GroupNamesDescriptor jobs;
|
|
|
|
|
|
|
|
|
|
private final GroupNames triggers;
|
|
|
|
|
private final GroupNamesDescriptor triggers;
|
|
|
|
|
|
|
|
|
|
QuartzReport(GroupNames jobs, GroupNames triggers) {
|
|
|
|
|
QuartzDescriptor(GroupNamesDescriptor jobs, GroupNamesDescriptor triggers) {
|
|
|
|
|
this.jobs = jobs;
|
|
|
|
|
this.triggers = triggers;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public GroupNames getJobs() {
|
|
|
|
|
public GroupNamesDescriptor getJobs() {
|
|
|
|
|
return this.jobs;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public GroupNames getTriggers() {
|
|
|
|
|
public GroupNamesDescriptor getTriggers() {
|
|
|
|
|
return this.triggers;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A set of group names, primarily intended for serialization to JSON.
|
|
|
|
|
* Description of group names.
|
|
|
|
|
*/
|
|
|
|
|
public static class GroupNames {
|
|
|
|
|
public static class GroupNamesDescriptor {
|
|
|
|
|
|
|
|
|
|
private final Set<String> groups;
|
|
|
|
|
|
|
|
|
|
public GroupNames(List<String> groups) {
|
|
|
|
|
public GroupNamesDescriptor(List<String> groups) {
|
|
|
|
|
this.groups = new LinkedHashSet<>(groups);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -317,14 +318,13 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A summary for each group identified by name, primarily intended for serialization
|
|
|
|
|
* to JSON.
|
|
|
|
|
* Description of each group identified by name.
|
|
|
|
|
*/
|
|
|
|
|
public static class QuartzGroups {
|
|
|
|
|
public static class QuartzGroupsDescriptor {
|
|
|
|
|
|
|
|
|
|
private final Map<String, Object> groups;
|
|
|
|
|
|
|
|
|
|
public QuartzGroups(Map<String, Object> groups) {
|
|
|
|
|
public QuartzGroupsDescriptor(Map<String, Object> groups) {
|
|
|
|
|
this.groups = groups;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -335,15 +335,15 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A summary report of the {@link JobDetail jobs} in a given group.
|
|
|
|
|
* Description of the {@link JobDetail jobs} in a given group.
|
|
|
|
|
*/
|
|
|
|
|
public static final class QuartzJobGroupSummary {
|
|
|
|
|
public static final class QuartzJobGroupSummaryDescriptor {
|
|
|
|
|
|
|
|
|
|
private final String group;
|
|
|
|
|
|
|
|
|
|
private final Map<String, QuartzJobSummary> jobs;
|
|
|
|
|
private final Map<String, QuartzJobSummaryDescriptor> jobs;
|
|
|
|
|
|
|
|
|
|
private QuartzJobGroupSummary(String group, Map<String, QuartzJobSummary> jobs) {
|
|
|
|
|
private QuartzJobGroupSummaryDescriptor(String group, Map<String, QuartzJobSummaryDescriptor> jobs) {
|
|
|
|
|
this.group = group;
|
|
|
|
|
this.jobs = jobs;
|
|
|
|
|
}
|
|
|
|
@ -352,25 +352,25 @@ public class QuartzEndpoint {
|
|
|
|
|
return this.group;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Map<String, QuartzJobSummary> getJobs() {
|
|
|
|
|
public Map<String, QuartzJobSummaryDescriptor> getJobs() {
|
|
|
|
|
return this.jobs;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Details of a {@link Job Quartz Job}, primarily intended for serialization to JSON.
|
|
|
|
|
* Description of a {@link Job Quartz Job}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class QuartzJobSummary {
|
|
|
|
|
public static final class QuartzJobSummaryDescriptor {
|
|
|
|
|
|
|
|
|
|
private final String className;
|
|
|
|
|
|
|
|
|
|
private QuartzJobSummary(JobDetail job) {
|
|
|
|
|
private QuartzJobSummaryDescriptor(JobDetail job) {
|
|
|
|
|
this.className = job.getJobClass().getName();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static QuartzJobSummary of(JobDetail job) {
|
|
|
|
|
return new QuartzJobSummary(job);
|
|
|
|
|
private static QuartzJobSummaryDescriptor of(JobDetail job) {
|
|
|
|
|
return new QuartzJobSummaryDescriptor(job);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getClassName() {
|
|
|
|
@ -380,9 +380,9 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Details of a {@link Job Quartz Job}, primarily intended for serialization to JSON.
|
|
|
|
|
* Description of a {@link Job Quartz Job}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class QuartzJobDetails {
|
|
|
|
|
public static final class QuartzJobDetailsDescriptor {
|
|
|
|
|
|
|
|
|
|
private final String group;
|
|
|
|
|
|
|
|
|
@ -400,7 +400,7 @@ public class QuartzEndpoint {
|
|
|
|
|
|
|
|
|
|
private final List<Map<String, Object>> triggers;
|
|
|
|
|
|
|
|
|
|
QuartzJobDetails(String group, String name, String description, String className, boolean durable,
|
|
|
|
|
QuartzJobDetailsDescriptor(String group, String name, String description, String className, boolean durable,
|
|
|
|
|
boolean requestRecovery, Map<String, Object> data, List<Map<String, Object>> triggers) {
|
|
|
|
|
this.group = group;
|
|
|
|
|
this.name = name;
|
|
|
|
@ -447,9 +447,9 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A summary report of the {@link Trigger triggers} in a given group.
|
|
|
|
|
* Description of the {@link Trigger triggers} in a given group.
|
|
|
|
|
*/
|
|
|
|
|
public static final class QuartzTriggerGroupSummary {
|
|
|
|
|
public static final class QuartzTriggerGroupSummaryDescriptor {
|
|
|
|
|
|
|
|
|
|
private final String group;
|
|
|
|
|
|
|
|
|
@ -457,7 +457,7 @@ public class QuartzEndpoint {
|
|
|
|
|
|
|
|
|
|
private final Triggers triggers;
|
|
|
|
|
|
|
|
|
|
private QuartzTriggerGroupSummary(String group, boolean paused,
|
|
|
|
|
private QuartzTriggerGroupSummaryDescriptor(String group, boolean paused,
|
|
|
|
|
Map<TriggerType, Map<String, Object>> descriptionsByType) {
|
|
|
|
|
this.group = group;
|
|
|
|
|
this.paused = paused;
|
|
|
|
@ -550,30 +550,30 @@ public class QuartzEndpoint {
|
|
|
|
|
/**
|
|
|
|
|
* Base class for descriptions of a {@link Trigger}.
|
|
|
|
|
*/
|
|
|
|
|
public abstract static class TriggerDescription {
|
|
|
|
|
public abstract static class TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
private static final Map<Class<? extends Trigger>, Function<Trigger, TriggerDescription>> DESCRIBERS = new LinkedHashMap<>();
|
|
|
|
|
private static final Map<Class<? extends Trigger>, Function<Trigger, TriggerDescriptor>> DESCRIBERS = new LinkedHashMap<>();
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
DESCRIBERS.put(CronTrigger.class, (trigger) -> new CronTriggerDescription((CronTrigger) trigger));
|
|
|
|
|
DESCRIBERS.put(SimpleTrigger.class, (trigger) -> new SimpleTriggerDescription((SimpleTrigger) trigger));
|
|
|
|
|
DESCRIBERS.put(CronTrigger.class, (trigger) -> new CronTriggerDescriptor((CronTrigger) trigger));
|
|
|
|
|
DESCRIBERS.put(SimpleTrigger.class, (trigger) -> new SimpleTriggerDescriptor((SimpleTrigger) trigger));
|
|
|
|
|
DESCRIBERS.put(DailyTimeIntervalTrigger.class,
|
|
|
|
|
(trigger) -> new DailyTimeIntervalTriggerDescription((DailyTimeIntervalTrigger) trigger));
|
|
|
|
|
(trigger) -> new DailyTimeIntervalTriggerDescriptor((DailyTimeIntervalTrigger) trigger));
|
|
|
|
|
DESCRIBERS.put(CalendarIntervalTrigger.class,
|
|
|
|
|
(trigger) -> new CalendarIntervalTriggerDescription((CalendarIntervalTrigger) trigger));
|
|
|
|
|
(trigger) -> new CalendarIntervalTriggerDescriptor((CalendarIntervalTrigger) trigger));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private final Trigger trigger;
|
|
|
|
|
|
|
|
|
|
private final TriggerType type;
|
|
|
|
|
|
|
|
|
|
private static TriggerDescription of(Trigger trigger) {
|
|
|
|
|
private static TriggerDescriptor of(Trigger trigger) {
|
|
|
|
|
return DESCRIBERS.entrySet().stream().filter((entry) -> entry.getKey().isInstance(trigger))
|
|
|
|
|
.map((entry) -> entry.getValue().apply(trigger)).findFirst()
|
|
|
|
|
.orElse(new CustomTriggerDescription(trigger));
|
|
|
|
|
.orElse(new CustomTriggerDescriptor(trigger));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected TriggerDescription(Trigger trigger, TriggerType type) {
|
|
|
|
|
protected TriggerDescriptor(Trigger trigger, TriggerType type) {
|
|
|
|
|
this.trigger = trigger;
|
|
|
|
|
this.type = type;
|
|
|
|
|
}
|
|
|
|
@ -653,13 +653,13 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A description of a {@link CronTrigger}.
|
|
|
|
|
* Description of a {@link CronTrigger}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class CronTriggerDescription extends TriggerDescription {
|
|
|
|
|
public static final class CronTriggerDescriptor extends TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
private final CronTrigger trigger;
|
|
|
|
|
|
|
|
|
|
public CronTriggerDescription(CronTrigger trigger) {
|
|
|
|
|
public CronTriggerDescriptor(CronTrigger trigger) {
|
|
|
|
|
super(trigger, TriggerType.CRON);
|
|
|
|
|
this.trigger = trigger;
|
|
|
|
|
}
|
|
|
|
@ -678,13 +678,13 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A description of a {@link SimpleTrigger}.
|
|
|
|
|
* Description of a {@link SimpleTrigger}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class SimpleTriggerDescription extends TriggerDescription {
|
|
|
|
|
public static final class SimpleTriggerDescriptor extends TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
private final SimpleTrigger trigger;
|
|
|
|
|
|
|
|
|
|
public SimpleTriggerDescription(SimpleTrigger trigger) {
|
|
|
|
|
public SimpleTriggerDescriptor(SimpleTrigger trigger) {
|
|
|
|
|
super(trigger, TriggerType.SIMPLE);
|
|
|
|
|
this.trigger = trigger;
|
|
|
|
|
}
|
|
|
|
@ -704,13 +704,13 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A description of a {@link DailyTimeIntervalTrigger}.
|
|
|
|
|
* Description of a {@link DailyTimeIntervalTrigger}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class DailyTimeIntervalTriggerDescription extends TriggerDescription {
|
|
|
|
|
public static final class DailyTimeIntervalTriggerDescriptor extends TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
private final DailyTimeIntervalTrigger trigger;
|
|
|
|
|
|
|
|
|
|
public DailyTimeIntervalTriggerDescription(DailyTimeIntervalTrigger trigger) {
|
|
|
|
|
public DailyTimeIntervalTriggerDescriptor(DailyTimeIntervalTrigger trigger) {
|
|
|
|
|
super(trigger, TriggerType.DAILY_INTERVAL);
|
|
|
|
|
this.trigger = trigger;
|
|
|
|
|
}
|
|
|
|
@ -735,13 +735,13 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A description of a {@link CalendarIntervalTrigger}.
|
|
|
|
|
* Description of a {@link CalendarIntervalTrigger}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class CalendarIntervalTriggerDescription extends TriggerDescription {
|
|
|
|
|
public static final class CalendarIntervalTriggerDescriptor extends TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
private final CalendarIntervalTrigger trigger;
|
|
|
|
|
|
|
|
|
|
public CalendarIntervalTriggerDescription(CalendarIntervalTrigger trigger) {
|
|
|
|
|
public CalendarIntervalTriggerDescriptor(CalendarIntervalTrigger trigger) {
|
|
|
|
|
super(trigger, TriggerType.CALENDAR_INTERVAL);
|
|
|
|
|
this.trigger = trigger;
|
|
|
|
|
}
|
|
|
|
@ -766,11 +766,11 @@ public class QuartzEndpoint {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A description of a custom {@link Trigger}.
|
|
|
|
|
* Description of a custom {@link Trigger}.
|
|
|
|
|
*/
|
|
|
|
|
public static final class CustomTriggerDescription extends TriggerDescription {
|
|
|
|
|
public static final class CustomTriggerDescriptor extends TriggerDescriptor {
|
|
|
|
|
|
|
|
|
|
public CustomTriggerDescription(Trigger trigger) {
|
|
|
|
|
public CustomTriggerDescriptor(Trigger trigger) {
|
|
|
|
|
super(trigger, TriggerType.CUSTOM_TRIGGER);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|