You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/03/28 09:38:28 UTC

[2/2] camel git commit: CAMEL-7809: Ensure the cron schedule is updated when the job is rescheduled

CAMEL-7809: Ensure the cron schedule is updated when the job is rescheduled


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6ab37afa
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6ab37afa
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6ab37afa

Branch: refs/heads/master
Commit: 6ab37afa16adbf73f368ac4ff7ae513864b38107
Parents: 6a15b8e
Author: David Riseley <da...@openanswers.co.uk>
Authored: Tue Mar 28 09:52:53 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Mar 28 11:28:23 2017 +0200

----------------------------------------------------------------------
 .../quartz2/QuartzScheduledPollConsumerScheduler.java       | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/6ab37afa/components/camel-quartz2/src/main/java/org/apache/camel/pollconsumer/quartz2/QuartzScheduledPollConsumerScheduler.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/pollconsumer/quartz2/QuartzScheduledPollConsumerScheduler.java b/components/camel-quartz2/src/main/java/org/apache/camel/pollconsumer/quartz2/QuartzScheduledPollConsumerScheduler.java
index 5192a56..6213903 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/pollconsumer/quartz2/QuartzScheduledPollConsumerScheduler.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/pollconsumer/quartz2/QuartzScheduledPollConsumerScheduler.java
@@ -168,11 +168,11 @@ public class QuartzScheduledPollConsumerScheduler extends ServiceSupport impleme
             id = "trigger-" + getCamelContext().getUuidGenerator().generateUuid();
         }
 
-        Trigger existingTrigger = null;
+        CronTrigger existingTrigger = null;
         TriggerKey triggerKey = null;
         if (triggerId != null && triggerGroup != null) {
             triggerKey = new TriggerKey(triggerId, triggerGroup);
-            existingTrigger = quartzScheduler.getTrigger(triggerKey);
+            existingTrigger = (CronTrigger)quartzScheduler.getTrigger(triggerKey);
         }
 
         // Is an trigger already exist for this triggerId ?
@@ -208,8 +208,11 @@ public class QuartzScheduledPollConsumerScheduler extends ServiceSupport impleme
 
             QuartzHelper.updateJobDataMap(getCamelContext(), job, null);
             LOG.debug("Updated jobData map to {}", jobData);
+            
+            // Ensure the cron schedule is updated
+            CronTrigger newTrigger = existingTrigger.getTriggerBuilder().withSchedule(CronScheduleBuilder.cronSchedule(getCron()).inTimeZone(getTimeZone())).build();
 
-            quartzScheduler.rescheduleJob(triggerKey, existingTrigger);
+            quartzScheduler.rescheduleJob(triggerKey, newTrigger);
         }
     }