camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmuel...@apache.org
Subject svn commit: r1382544 - in /camel/branches/camel-2.10.x/components/camel-quartz/src: main/java/org/apache/camel/component/quartz/ test/java/org/apache/camel/component/quartz/
Date Sun, 09 Sep 2012 17:19:15 GMT
Author: cmueller
Date: Sun Sep  9 17:19:14 2012
New Revision: 1382544

URL: http://svn.apache.org/viewvc?rev=1382544&view=rev
Log:
CAMEL-5577: camel-quartz - Support the URL option startDelayedSeconds

Added:
    camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedOptionTest.java
      - copied, changed from r1382524, camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java
Modified:
    camel/branches/camel-2.10.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
    camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java

Modified: camel/branches/camel-2.10.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=1382544&r1=1382543&r2=1382544&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
(original)
+++ camel/branches/camel-2.10.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Sun Sep  9 17:19:14 2012
@@ -88,13 +88,23 @@ public class QuartzComponent extends Def
 
     @Override
     protected QuartzEndpoint createEndpoint(final String uri, final String remaining, final
Map<String, Object> parameters) throws Exception {
-
         // lets split the remaining into a group/name
         URI u = new URI(uri);
         String path = ObjectHelper.after(u.getPath(), "/");
         String host = u.getHost();
         String cron = getAndRemoveParameter(parameters, "cron", String.class);
         Boolean fireNow = getAndRemoveParameter(parameters, "fireNow", Boolean.class, Boolean.FALSE);
+        Integer startDelayedSeconds = getAndRemoveParameter(parameters, "startDelayedSeconds",
Integer.class);
+        if (startDelayedSeconds != null) {
+            if (scheduler.isStarted()) {
+                LOG.warn("A Quartz job is already started. Cannot apply the 'startDelayedSeconds'
configuration!");
+            } else if (this.startDelayedSeconds != 0 && !(this.startDelayedSeconds
== startDelayedSeconds)) {
+                LOG.warn("A Quartz job is already configured with a different 'startDelayedSeconds'
configuration! "
+                    + "All Quartz jobs must share the same 'startDelayedSeconds' configuration!
Cannot apply the 'startDelayedSeconds' configuration!");
+            } else {
+                this.startDelayedSeconds = startDelayedSeconds;
+            }
+        }
 
         // host can be null if the uri did contain invalid host characters such as an underscore
         if (host == null) {

Copied: camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedOptionTest.java
(from r1382524, camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java)
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedOptionTest.java?p2=camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedOptionTest.java&p1=camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java&r1=1382524&r2=1382544&rev=1382544&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java
(original)
+++ camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedOptionTest.java
Sun Sep  9 17:19:14 2012
@@ -19,25 +19,18 @@ package org.apache.camel.component.quart
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
-/**
- * @version 
- */
-public class QuartzStartDelayedTest extends CamelTestSupport {
+public class QuartzStartDelayedOptionTest extends CamelTestSupport {
 
     @Test
     public void testStartDelayed() throws Exception {
-        StopWatch watch = new StopWatch();
-
         MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.setMinimumResultWaitTime(1900);
+        mock.setResultWaitTime(3000);
         mock.expectedMessageCount(2);
 
         assertMockEndpointsSatisfied();
-
-        long time = watch.stop();
-        assertTrue("Should take longer than 3 seconds, was: " + time + " millis.", time >
2500);
     }
 
     @Override
@@ -45,10 +38,8 @@ public class QuartzStartDelayedTest exte
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                QuartzComponent quartz = context.getComponent("quartz", QuartzComponent.class);
-                quartz.setStartDelayedSeconds(3);
-
-                from("quartz://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute").to("mock:result");
+                from("quartz://myGroup/myTimerName?startDelayedSeconds=2&trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute")
+                    .to("mock:result");
             }
         };
     }

Modified: camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java?rev=1382544&r1=1382543&r2=1382544&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java
(original)
+++ camel/branches/camel-2.10.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzStartDelayedTest.java
Sun Sep  9 17:19:14 2012
@@ -19,25 +19,18 @@ package org.apache.camel.component.quart
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
-/**
- * @version 
- */
 public class QuartzStartDelayedTest extends CamelTestSupport {
 
     @Test
     public void testStartDelayed() throws Exception {
-        StopWatch watch = new StopWatch();
-
         MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.setMinimumResultWaitTime(1900);
+        mock.setResultWaitTime(3000);
         mock.expectedMessageCount(2);
 
         assertMockEndpointsSatisfied();
-
-        long time = watch.stop();
-        assertTrue("Should take longer than 3 seconds, was: " + time + " millis.", time >
2500);
     }
 
     @Override
@@ -46,7 +39,7 @@ public class QuartzStartDelayedTest exte
             @Override
             public void configure() throws Exception {
                 QuartzComponent quartz = context.getComponent("quartz", QuartzComponent.class);
-                quartz.setStartDelayedSeconds(3);
+                quartz.setStartDelayedSeconds(2);
 
                 from("quartz://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute").to("mock:result");
             }



Mime
View raw message