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 2010/06/25 07:07:04 UTC
svn commit: r957796 - in
/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz:
QuartzComponent.java QuartzEndpoint.java
Author: davsclaus
Date: Fri Jun 25 05:07:04 2010
New Revision: 957796
URL: http://svn.apache.org/viewvc?rev=957796&view=rev
Log:
CAMEL-2844: quartz should keep jobs on shutdown. And only remove if the job if its volatile.
Modified:
camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Modified: camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=957796&r1=957795&r2=957796&view=diff
==============================================================================
--- camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (original)
+++ camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java Fri Jun 25 05:07:04 2010
@@ -163,13 +163,20 @@ public class QuartzComponent extends Def
}
- public void removeJob(Trigger trigger) throws SchedulerException {
+ public void removeJob(JobDetail job, Trigger trigger) throws SchedulerException {
JOBS.decrementAndGet();
- if (LOG.isDebugEnabled()) {
- LOG.debug("Removing job using trigger: " + trigger.getGroup() + "/" + trigger.getName());
+ // only un schedule volatile jobs
+ if (job.isVolatile()) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Removing job using trigger: " + trigger.getGroup() + "/" + trigger.getName());
+ }
+ getScheduler().unscheduleJob(trigger.getName(), trigger.getGroup());
+ } else {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Keeping volatile job using trigger: " + trigger.getGroup() + "/" + trigger.getName());
+ }
}
- getScheduler().unscheduleJob(trigger.getName(), trigger.getGroup());
}
// Properties
Modified: camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java?rev=957796&r1=957795&r2=957796&view=diff
==============================================================================
--- camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (original)
+++ camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java Fri Jun 25 05:07:04 2010
@@ -77,8 +77,8 @@ public class QuartzEndpoint extends Defa
getComponent().addJob(detail, trigger);
}
- public void removeTrigger(final Trigger trigger) throws SchedulerException {
- getComponent().removeJob(trigger);
+ public void removeTrigger(final Trigger trigger, final JobDetail detail) throws SchedulerException {
+ getComponent().removeJob(detail, trigger);
}
/**
@@ -196,7 +196,7 @@ public class QuartzEndpoint extends Defa
ObjectHelper.notNull(trigger, "trigger");
getLoadBalancer().removeProcessor(consumer.getProcessor());
if (getLoadBalancer().getProcessors().isEmpty() && started) {
- removeTrigger(getTrigger());
+ removeTrigger(getTrigger(), getJobDetail());
started = false;
}
}