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;
         }
     }