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 2019/05/22 08:50:52 UTC

[camel] branch camel-2.22.x updated: CAMEL-13476: QuartzScheduledPollConsumerScheduler should not remove trigger when quartz is clustered

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-2.22.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-2.22.x by this push:
     new 02f4920  CAMEL-13476: QuartzScheduledPollConsumerScheduler should not remove trigger when quartz is clustered
02f4920 is described below

commit 02f4920334de39ad8f9e85c98fe365e0404483d3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed May 22 10:48:05 2019 +0200

    CAMEL-13476: QuartzScheduledPollConsumerScheduler should not remove trigger when quartz is clustered
---
 .../quartz2/QuartzScheduledPollConsumerScheduler.java  | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

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 02a813d..1b39a8f 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
@@ -59,6 +59,7 @@ public class QuartzScheduledPollConsumerScheduler extends ServiceSupport impleme
     private String triggerId;
     private String triggerGroup = "QuartzScheduledPollConsumerScheduler";
     private TimeZone timeZone = TimeZone.getDefault();
+    private boolean deleteJob = true;
     private volatile CronTrigger trigger;
     private volatile JobDetail job;
 
@@ -155,6 +156,14 @@ public class QuartzScheduledPollConsumerScheduler extends ServiceSupport impleme
         this.triggerGroup = triggerGroup;
     }
 
+    public boolean isDeleteJob() {
+        return deleteJob;
+    }
+
+    public void setDeleteJob(boolean deleteJob) {
+        this.deleteJob = deleteJob;
+    }
+
     @Override
     protected void doStart() throws Exception {
         ObjectHelper.notEmpty(cron, "cron", this);
@@ -252,9 +261,12 @@ public class QuartzScheduledPollConsumerScheduler extends ServiceSupport impleme
 
     @Override
     protected void doStop() throws Exception {
-        if (trigger != null) {
-            LOG.debug("Unscheduling trigger: {}", trigger.getKey());
-            quartzScheduler.unscheduleJob(trigger.getKey());
+        if (trigger != null && deleteJob) {
+            boolean isClustered = quartzScheduler.getMetaData().isJobStoreClustered();
+            if (!quartzScheduler.isShutdown() && !isClustered) {
+                LOG.info("Deleting job {}", trigger.getKey());
+                quartzScheduler.unscheduleJob(trigger.getKey());
+            }
         }
     }