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:59 UTC
[camel] 01/03: 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 master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 14b3ab54afa951f8ed4ac8aa38cba83aae167bf3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed May 22 10:43:36 2019 +0200
CAMEL-13476: QuartzScheduledPollConsumerScheduler should not remove trigger when quartz is clustered
---
.../quartz2/QuartzScheduledPollConsumerScheduler.java | 19 ++++++++++++++++---
1 file changed, 16 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 add7a9e..9e21fbc 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
@@ -27,6 +27,7 @@ import org.apache.camel.component.quartz2.QuartzComponent;
import org.apache.camel.component.quartz2.QuartzConstants;
import org.apache.camel.component.quartz2.QuartzHelper;
import org.apache.camel.spi.ScheduledPollConsumerScheduler;
+import org.apache.camel.spi.UriParam;
import org.apache.camel.support.service.ServiceSupport;
import org.apache.camel.util.StringHelper;
import org.quartz.CronScheduleBuilder;
@@ -57,6 +58,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;
@@ -153,6 +155,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 {
StringHelper.notEmpty(cron, "cron", this);
@@ -250,9 +260,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());
+ }
}
}