From 43a6a73751389c44466ecd938a9de9c344c61b4b Mon Sep 17 00:00:00 2001 From: Martin Benda Date: Fri, 23 Oct 2015 11:04:54 +0200 Subject: [PATCH] Add null check to enable creation of triggers without JobDetail. Issue: SPR-13604 --- .../scheduling/quartz/CronTriggerFactoryBean.java | 6 ++++-- .../scheduling/quartz/SimpleTriggerFactoryBean.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/CronTriggerFactoryBean.java b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/CronTriggerFactoryBean.java index 666f591e0083..1c8c3d2a38cc 100644 --- a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/CronTriggerFactoryBean.java +++ b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/CronTriggerFactoryBean.java @@ -237,8 +237,10 @@ public void afterPropertiesSet() throws ParseException { CronTriggerImpl cti = new CronTriggerImpl(); cti.setName(this.name); cti.setGroup(this.group); - cti.setJobKey(this.jobDetail.getKey()); - cti.setJobDataMap(this.jobDataMap); + if (this.jobDetail != null) { + cti.setJobKey(this.jobDetail.getKey()); + cti.setJobDataMap(this.jobDataMap); + } cti.setStartTime(this.startTime); cti.setCronExpression(this.cronExpression); cti.setTimeZone(this.timeZone); diff --git a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SimpleTriggerFactoryBean.java b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SimpleTriggerFactoryBean.java index 573fba98c24b..ecdaa5366893 100644 --- a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SimpleTriggerFactoryBean.java +++ b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SimpleTriggerFactoryBean.java @@ -228,8 +228,10 @@ public void afterPropertiesSet() { SimpleTriggerImpl sti = new SimpleTriggerImpl(); sti.setName(this.name); sti.setGroup(this.group); - sti.setJobKey(this.jobDetail.getKey()); - sti.setJobDataMap(this.jobDataMap); + if (this.jobDetail != null) { + sti.setJobKey(this.jobDetail.getKey()); + sti.setJobDataMap(this.jobDataMap); + } sti.setStartTime(this.startTime); sti.setRepeatInterval(this.repeatInterval); sti.setRepeatCount(this.repeatCount);