|
28 | 28 | import org.springframework.beans.factory.BeanNameAware;
|
29 | 29 | import org.springframework.beans.factory.FactoryBean;
|
30 | 30 | import org.springframework.beans.factory.InitializingBean;
|
31 |
| -import org.springframework.core.Constants; |
32 | 31 | import org.springframework.lang.Nullable;
|
33 | 32 | import org.springframework.util.Assert;
|
34 | 33 |
|
|
46 | 45 | * instead of registering the JobDetail separately.
|
47 | 46 | *
|
48 | 47 | * @author Juergen Hoeller
|
| 48 | + * @author Sam Brannen |
49 | 49 | * @since 3.1
|
50 | 50 | * @see #setName
|
51 | 51 | * @see #setGroup
|
|
56 | 56 | */
|
57 | 57 | public class SimpleTriggerFactoryBean implements FactoryBean<SimpleTrigger>, BeanNameAware, InitializingBean {
|
58 | 58 |
|
59 |
| - /** Constants for the SimpleTrigger class. */ |
60 |
| - private static final Constants constants = new Constants(SimpleTrigger.class); |
61 |
| - |
| 59 | + /** |
| 60 | + * Map of constant names to constant values for the misfire instruction constants |
| 61 | + * defined in {@link org.quartz.Trigger} and {@link org.quartz.SimpleTrigger}. |
| 62 | + */ |
| 63 | + private static final Map<String, Integer> constants = Map.of( |
| 64 | + "MISFIRE_INSTRUCTION_SMART_POLICY", |
| 65 | + SimpleTrigger.MISFIRE_INSTRUCTION_SMART_POLICY, |
| 66 | + "MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY", |
| 67 | + SimpleTrigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, |
| 68 | + "MISFIRE_INSTRUCTION_FIRE_NOW", |
| 69 | + SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW, |
| 70 | + "MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT", |
| 71 | + SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT, |
| 72 | + "MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT", |
| 73 | + SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT, |
| 74 | + "MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT", |
| 75 | + SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT, |
| 76 | + "MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT", |
| 77 | + SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT |
| 78 | + ); |
62 | 79 |
|
63 | 80 | @Nullable
|
64 | 81 | private String name;
|
@@ -204,7 +221,10 @@ public void setMisfireInstruction(int misfireInstruction) {
|
204 | 221 | * @see org.quartz.SimpleTrigger#MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
|
205 | 222 | */
|
206 | 223 | public void setMisfireInstructionName(String constantName) {
|
207 |
| - this.misfireInstruction = constants.asNumber(constantName).intValue(); |
| 224 | + Assert.hasText(constantName, "'constantName' must not be null or blank"); |
| 225 | + Integer misfireInstruction = constants.get(constantName); |
| 226 | + Assert.notNull(misfireInstruction, "Only misfire instruction constants allowed"); |
| 227 | + this.misfireInstruction = misfireInstruction; |
208 | 228 | }
|
209 | 229 |
|
210 | 230 | /**
|
|
0 commit comments