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 2012/03/16 10:51:54 UTC

svn commit: r1301405 - in /camel/branches/camel-2.9.x: ./ components/camel-quartz/src/main/java/org/apache/camel/component/quartz/ components/camel-quartz/src/test/java/org/apache/camel/component/quartz/ components/camel-quartz/src/test/resources/org/a...

Author: davsclaus
Date: Fri Mar 16 09:51:54 2012
New Revision: 1301405

URL: http://svn.apache.org/viewvc?rev=1301405&view=rev
Log:
CAMEL-4900: Fixed issue with restarting app with persistent Quartz job store.

Added:
    camel/branches/camel-2.9.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
      - copied unchanged from r1301394, camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
    camel/branches/camel-2.9.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
      - copied unchanged from r1301394, camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
    camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
      - copied unchanged from r1301394, camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
Modified:
    camel/branches/camel-2.9.x/   (props changed)
    camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
    camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
    camel/branches/camel-2.9.x/components/camel-solr/   (props changed)

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar 16 09:51:54 2012
@@ -1 +1 @@
-/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021,1291555,1291727,1291848,1291864,1292114,1292384,1292725,1292760,1292767,1293079,1293268,1293288,1293330,1293590,1293828,1293852,1293855,1294130,1294482,1294502,1294533,1294588,1294639,1294709,1294909,1294976,1295073,1295108,1295120,1296653,1296790,1298125,1298155,1298447,1298795,1298821,1298993,1299383,1299399,1300720-1300722,1300805,1300826,1300831,1300959,1301376
+/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021,1291555,1291727,1291848,1291864,1292114,1292384,1292725,1292760,1292767,1293079,1293268,1293288,1293330,1293590,1293828,1293852,1293855,1294130,1294482,1294502,1294533,1294588,1294639,1294709,1294909,1294976,1295073,1295108,1295120,1296653,1296790,1298125,1298155,1298447,1298795,1298821,1298993,1299383,1299399,1300720-1300722,1300805,1300826,1300831,1300959,1301376,1301394

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=1301405&r1=1301404&r2=1301405&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (original)
+++ camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java Fri Mar 16 09:51:54 2012
@@ -21,7 +21,6 @@ import java.io.InputStream;
 import java.net.URI;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -223,14 +222,23 @@ public class QuartzComponent extends Def
             getScheduler().scheduleJob(job, trigger);
         } else if (hasTriggerChanged(existingTrigger, trigger)) {
             LOG.debug("Trigger: {}/{} already exists and will be updated by Quartz.", trigger.getGroup(), trigger.getName());
+            // fast forward start time to now, as we do not want any misfire to kick in
+            trigger.setStartTime(new Date());
+            // replace job, and relate trigger to previous job name, which is needed to reschedule job
             scheduler.addJob(job, true);
-            trigger.setJobName(job.getName());
+            trigger.setJobName(existingTrigger.getJobName());
             scheduler.rescheduleJob(trigger.getName(), trigger.getGroup(), trigger);
         } else {
-            LOG.debug("Trigger: {}/{} already exists and will be resumed automatically by Quartz.", trigger.getGroup(), trigger.getName());
             if (!isClustered()) {
-                trigger.setStartTime(Calendar.getInstance().getTime());
+                LOG.debug("Trigger: {}/{} already exists and will be resumed by Quartz.", trigger.getGroup(), trigger.getName());
+                // fast forward start time to now, as we do not want any misfire to kick in
+                trigger.setStartTime(new Date());
+                // replace job, and relate trigger to previous job name, which is needed to reschedule job
+                scheduler.addJob(job, true);
+                trigger.setJobName(existingTrigger.getJobName());
                 scheduler.rescheduleJob(trigger.getName(), trigger.getGroup(), trigger);
+            } else {
+                LOG.debug("Trigger: {}/{} already exists and is already scheduled by clustered JobStore.", trigger.getGroup(), trigger.getName());
             }
         }
     }

Modified: camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml?rev=1301405&r1=1301404&r2=1301405&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml (original)
+++ camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml Fri Mar 16 09:51:54 2012
@@ -57,7 +57,7 @@
   </bean>
 
   <camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring">
-    <route>
+    <route id="myRoute">
       <from uri="quartz://app/test?trigger.repeatInterval=1000&amp;trigger.repeatCount=-1&amp;stateful=true"/>
       <to uri="log:trigger"/>
       <to uri="mock:result"/>

Propchange: camel/branches/camel-2.9.x/components/camel-solr/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar 16 09:51:54 2012
@@ -1 +1 @@
-/camel/trunk/components/camel-solr:1227197-1298579,1298795,1298821,1298993,1299399,1300805,1300826,1300831,1301376
+/camel/trunk/components/camel-solr:1227197-1298579,1298795,1298821,1298993,1299399,1300805,1300826,1300831,1301376,1301394