Revision 45122
Added by Claudio Atzori over 7 years ago
AbstractSchedulable.java | ||
---|---|---|
5 | 5 |
import javax.annotation.PostConstruct; |
6 | 6 |
import javax.annotation.Resource; |
7 | 7 |
|
8 |
import org.quartz.CronExpression; |
|
9 |
import org.quartz.CronTrigger; |
|
10 |
import org.quartz.Job; |
|
11 |
import org.quartz.JobDataMap; |
|
12 |
import org.quartz.JobDetail; |
|
13 |
import org.quartz.JobExecutionContext; |
|
14 |
import org.quartz.JobExecutionException; |
|
15 |
import org.quartz.Scheduler; |
|
16 |
import org.quartz.SchedulerException; |
|
17 |
import org.quartz.Trigger; |
|
8 |
import org.quartz.*; |
|
9 |
import org.quartz.Trigger.TriggerState; |
|
10 |
import org.quartz.impl.JobDetailImpl; |
|
11 |
import org.quartz.impl.triggers.CronTriggerImpl; |
|
18 | 12 |
import org.springframework.beans.factory.BeanNameAware; |
19 | 13 |
import org.springframework.beans.factory.annotation.Required; |
20 | 14 |
|
... | ... | |
46 | 40 |
JobDataMap jobDataMap = new JobDataMap(); |
47 | 41 |
jobDataMap.put(THIS, this); |
48 | 42 |
|
49 |
JobDetail jd = new JobDetail();
|
|
43 |
JobDetailImpl jd = new JobDetailImpl();
|
|
50 | 44 |
jd.setName(getBeanName()); |
51 | 45 |
jd.setGroup(GROUP); |
52 | 46 |
jd.setJobDataMap(jobDataMap); |
... | ... | |
61 | 55 |
|
62 | 56 |
private Trigger createTrigger() { |
63 | 57 |
try { |
64 |
CronTrigger trigger = new CronTrigger(getBeanName(), GROUP, getCronExpression());
|
|
65 |
trigger.setMisfireInstruction(Trigger.INSTRUCTION_NOOP);
|
|
58 |
CronTriggerImpl trigger = new CronTriggerImpl(getBeanName(), GROUP, getCronExpression());
|
|
59 |
trigger.setMisfireInstruction(Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY);
|
|
66 | 60 |
trigger.setJobGroup(GROUP); |
67 | 61 |
trigger.setJobName(getBeanName()); |
68 | 62 |
return trigger; |
... | ... | |
121 | 115 |
if (!cronExpression.equals(getCronExpression())) { |
122 | 116 |
setCronExpression(cronExpression); |
123 | 117 |
try { |
124 |
jobScheduler.rescheduleJob(getBeanName(), GROUP, createTrigger()); |
|
118 |
final TriggerKey tk = new TriggerKey(getBeanName()); |
|
119 |
jobScheduler.rescheduleJob(tk, createTrigger()); |
|
125 | 120 |
} catch (SchedulerException e) { |
126 | 121 |
throw new RuntimeException("unable to reschedule trigger", e); |
127 | 122 |
} |
... | ... | |
137 | 132 |
if (!isEnabled()) { |
138 | 133 |
return ""; |
139 | 134 |
} |
140 |
Trigger t = jobScheduler.getTrigger(getBeanName(), GROUP); |
|
135 |
final TriggerKey tk = new TriggerKey(getBeanName()); |
|
136 |
final Trigger t = jobScheduler.getTrigger(tk); |
|
141 | 137 |
return t != null ? t.getNextFireTime().toString() : ""; |
142 | 138 |
} catch (SchedulerException e) { |
143 | 139 |
throw new RuntimeException("unable to get trigger", e); |
... | ... | |
147 | 143 |
@Override |
148 | 144 |
public boolean isPaused() { |
149 | 145 |
try { |
150 |
int state = jobScheduler.getTriggerState(getBeanName(), GROUP); |
|
146 |
final TriggerKey tk = new TriggerKey(getBeanName()); |
|
147 |
final TriggerState state = jobScheduler.getTriggerState(tk); |
|
151 | 148 |
switch (state) { |
152 |
case Trigger.STATE_PAUSED:
|
|
153 |
case Trigger.STATE_NONE:
|
|
154 |
case Trigger.STATE_ERROR:
|
|
149 |
case PAUSED: |
|
150 |
case NONE: |
|
151 |
case ERROR: |
|
155 | 152 |
return true; |
156 | 153 |
default: |
157 | 154 |
return false; |
... | ... | |
164 | 161 |
@Override |
165 | 162 |
public void pause() { |
166 | 163 |
try { |
167 |
jobScheduler.pauseTrigger(getBeanName(), GROUP); |
|
164 |
final TriggerKey tk = new TriggerKey(getBeanName()); |
|
165 |
jobScheduler.pauseTrigger(tk); |
|
168 | 166 |
} catch (SchedulerException e) { |
169 | 167 |
throw new RuntimeException("unable to pause trigger", e); |
170 | 168 |
} |
... | ... | |
173 | 171 |
@Override |
174 | 172 |
public void resume() { |
175 | 173 |
try { |
176 |
jobScheduler.resumeTrigger(getBeanName(), GROUP); |
|
174 |
final TriggerKey tk = new TriggerKey(getBeanName()); |
|
175 |
jobScheduler.resumeTrigger(tk); |
|
177 | 176 |
} catch (SchedulerException e) { |
178 | 177 |
throw new RuntimeException("unable to resume trigger", e); |
179 | 178 |
} |
Also available in: Unified diff
migrated to dnet45, using updated quartzo version