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 2015/12/16 08:14:47 UTC
[1/4] camel git commit: CAMEL-9424 Correctly build TriggerKey using
the trigger prefix relevant to the Action. This fixes the fuplicate trigger
name issue when setting both start and stop route times on a
CronScheduledRoutePolicy.
Repository: camel
Updated Branches:
refs/heads/camel-2.16.x 84842ded9 -> 35b55e257
refs/heads/master 5d77c1162 -> e3aa8ae42
CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times on a CronScheduledRoutePolicy.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c96a7c88
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c96a7c88
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c96a7c88
Branch: refs/heads/master
Commit: c96a7c88551b167efe471a0711d494658945f1fb
Parents: 5d77c11
Author: Donovan Muller <do...@gmail.com>
Authored: Wed Dec 16 00:56:44 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 07:35:06 2015 +0100
----------------------------------------------------------------------
.../quartz2/CronScheduledRoutePolicy.java | 18 +++++--
.../quartz2/CronScheduledRoutePolicyTest.java | 56 ++++++++++++++++++++
2 files changed, 69 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c96a7c88/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
index eb7978a..1b917a7 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
@@ -25,6 +25,7 @@ import org.apache.camel.util.ObjectHelper;
import org.quartz.CronScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
+import org.quartz.TriggerKey;
public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements ScheduledRoutePolicyConstants {
private String routeStartTime;
@@ -33,7 +34,7 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc
private String routeResumeTime;
private String timeZoneString;
private TimeZone timeZone;
-
+
public void onInit(Route route) {
try {
doOnInit(route);
@@ -80,25 +81,32 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc
@Override
protected Trigger createTrigger(Action action, Route route) throws Exception {
- Trigger trigger = null;
-
+ Trigger trigger = null;
+
CronScheduleBuilder scheduleBuilder = null;
+ String triggerPrefix = null;
if (action == Action.START) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStartTime());
+ triggerPrefix = TRIGGER_START;
} else if (action == Action.STOP) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStopTime());
+ triggerPrefix = TRIGGER_STOP;
} else if (action == Action.SUSPEND) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteSuspendTime());
+ triggerPrefix = TRIGGER_SUSPEND;
} else if (action == Action.RESUME) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteResumeTime());
+ triggerPrefix = TRIGGER_RESUME;
}
-
+
if (scheduleBuilder != null) {
if (timeZone != null) {
scheduleBuilder.inTimeZone(timeZone);
}
+
+ TriggerKey triggerKey = new TriggerKey(triggerPrefix + route.getId(), TRIGGER_GROUP + route.getId());
trigger = TriggerBuilder.newTrigger()
- .withIdentity(TRIGGER_START + route.getId(), TRIGGER_GROUP + route.getId())
+ .withIdentity(triggerKey)
.withSchedule(scheduleBuilder)
.build();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/c96a7c88/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
index f8d9b2e..73ec425 100644
--- a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
+++ b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
@@ -16,9 +16,11 @@
*/
package org.apache.camel.routepolicy.quartz2;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.apache.camel.Consumer;
+import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.SuspendableService;
import org.apache.camel.builder.RouteBuilder;
@@ -156,6 +158,60 @@ public class CronScheduledRoutePolicyTest extends CamelTestSupport {
Thread.sleep(5000);
assertTrue(context.getRouteStatus("test") == ServiceStatus.Stopped);
}
+
+ @Test
+ public void testScheduledStartAndStopRoutePolicy() throws Exception {
+ MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class);
+ success.expectedMessageCount(1);
+
+ final CountDownLatch startedLatch = new CountDownLatch(1);
+ final CountDownLatch stoppedLatch = new CountDownLatch(1);
+
+ context.getComponent("quartz2", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz2/myquartz.properties");
+ context.addRoutes(new RouteBuilder() {
+ public void configure() {
+ CronScheduledRoutePolicy policy = new CronScheduledRoutePolicy() {
+
+ @Override
+ public void onStart(final Route route) {
+ super.onStart(route);
+
+ startedLatch.countDown();
+ }
+
+ @Override
+ public void onStop(final Route route) {
+ super.onStop(route);
+
+ stoppedLatch.countDown();
+ }
+ };
+ policy.setRouteStartTime("*/3 * * * * ?");
+ policy.setRouteStopTime("*/6 * * * * ?");
+ policy.setRouteStopGracePeriod(0);
+
+ from("direct:start")
+ .routeId("test")
+ .routePolicy(policy)
+ .noAutoStartup()
+ .to("mock:success");
+ }
+ });
+ context.start();
+
+ startedLatch.await(5000, TimeUnit.SECONDS);
+
+ ServiceStatus startedStatus = context.getRouteStatus("test");
+ assertTrue(startedStatus == ServiceStatus.Started || startedStatus == ServiceStatus.Starting);
+ template.sendBody("direct:start", "Ready or not, Here, I come");
+
+ stoppedLatch.await(5000, TimeUnit.SECONDS);
+
+ ServiceStatus stoppedStatus = context.getRouteStatus("test");
+ assertTrue(stoppedStatus == ServiceStatus.Stopped || stoppedStatus == ServiceStatus.Stopping);
+
+ success.assertIsSatisfied();
+ }
@Test
public void testScheduledStopRoutePolicyWithExtraPolicy() throws Exception {
[2/4] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e3aa8ae4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e3aa8ae4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e3aa8ae4
Branch: refs/heads/master
Commit: e3aa8ae42160dd5801e979f05f1d0ceb733b492e
Parents: c96a7c8
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 08:12:54 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 08:12:54 2015 +0100
----------------------------------------------------------------------
.../org/apache/camel/model/rest/RestConfigurationDefinition.java | 2 +-
.../org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e3aa8ae4/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
index 155a513..5dc4804 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
@@ -600,7 +600,7 @@ public class RestConfigurationDefinition {
}
/**
- * For additional configuration options on data format level
+ * For configuring an api property, such as <tt>api.title</tt>, or <tt>api.version</tt>.
*/
public RestConfigurationDefinition apiProperty(String key, String value) {
RestPropertyDefinition prop = new RestPropertyDefinition();
http://git-wip-us.apache.org/repos/asf/camel/blob/e3aa8ae4/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
index 373db45..7b0f5df 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
@@ -50,7 +50,9 @@ public class SwaggerRestApiProcessorFactory implements RestApiProcessorFactory {
}
// and context path is the base.path
String path = configuration.getContextPath();
- options.put("base.path", path);
+ if (path != null) {
+ options.put("base.path", path);
+ }
return new RestSwaggerProcessor(contextIdPattern, contextIdListing, options);
}
[3/4] camel git commit: CAMEL-9424 Correctly build TriggerKey using
the trigger prefix relevant to the Action. This fixes the fuplicate trigger
name issue when setting both start and stop route times on a
CronScheduledRoutePolicy.
Posted by da...@apache.org.
CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times on a CronScheduledRoutePolicy.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b4aa8544
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b4aa8544
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b4aa8544
Branch: refs/heads/camel-2.16.x
Commit: b4aa8544a4b4fd4c6a711a2dca37274fbaf6cd94
Parents: 84842de
Author: Donovan Muller <do...@gmail.com>
Authored: Wed Dec 16 00:56:44 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 08:14:28 2015 +0100
----------------------------------------------------------------------
.../quartz2/CronScheduledRoutePolicy.java | 18 +++++--
.../quartz2/CronScheduledRoutePolicyTest.java | 56 ++++++++++++++++++++
2 files changed, 69 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/b4aa8544/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
index eb7978a..1b917a7 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java
@@ -25,6 +25,7 @@ import org.apache.camel.util.ObjectHelper;
import org.quartz.CronScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
+import org.quartz.TriggerKey;
public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements ScheduledRoutePolicyConstants {
private String routeStartTime;
@@ -33,7 +34,7 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc
private String routeResumeTime;
private String timeZoneString;
private TimeZone timeZone;
-
+
public void onInit(Route route) {
try {
doOnInit(route);
@@ -80,25 +81,32 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc
@Override
protected Trigger createTrigger(Action action, Route route) throws Exception {
- Trigger trigger = null;
-
+ Trigger trigger = null;
+
CronScheduleBuilder scheduleBuilder = null;
+ String triggerPrefix = null;
if (action == Action.START) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStartTime());
+ triggerPrefix = TRIGGER_START;
} else if (action == Action.STOP) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStopTime());
+ triggerPrefix = TRIGGER_STOP;
} else if (action == Action.SUSPEND) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteSuspendTime());
+ triggerPrefix = TRIGGER_SUSPEND;
} else if (action == Action.RESUME) {
scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteResumeTime());
+ triggerPrefix = TRIGGER_RESUME;
}
-
+
if (scheduleBuilder != null) {
if (timeZone != null) {
scheduleBuilder.inTimeZone(timeZone);
}
+
+ TriggerKey triggerKey = new TriggerKey(triggerPrefix + route.getId(), TRIGGER_GROUP + route.getId());
trigger = TriggerBuilder.newTrigger()
- .withIdentity(TRIGGER_START + route.getId(), TRIGGER_GROUP + route.getId())
+ .withIdentity(triggerKey)
.withSchedule(scheduleBuilder)
.build();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/b4aa8544/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
index 6b6ace4..4fd6876 100644
--- a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
+++ b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java
@@ -16,9 +16,11 @@
*/
package org.apache.camel.routepolicy.quartz2;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.apache.camel.Consumer;
+import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.SuspendableService;
import org.apache.camel.builder.RouteBuilder;
@@ -156,6 +158,60 @@ public class CronScheduledRoutePolicyTest extends CamelTestSupport {
Thread.sleep(5000);
assertTrue(context.getRouteStatus("test") == ServiceStatus.Stopped);
}
+
+ @Test
+ public void testScheduledStartAndStopRoutePolicy() throws Exception {
+ MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class);
+ success.expectedMessageCount(1);
+
+ final CountDownLatch startedLatch = new CountDownLatch(1);
+ final CountDownLatch stoppedLatch = new CountDownLatch(1);
+
+ context.getComponent("quartz2", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz2/myquartz.properties");
+ context.addRoutes(new RouteBuilder() {
+ public void configure() {
+ CronScheduledRoutePolicy policy = new CronScheduledRoutePolicy() {
+
+ @Override
+ public void onStart(final Route route) {
+ super.onStart(route);
+
+ startedLatch.countDown();
+ }
+
+ @Override
+ public void onStop(final Route route) {
+ super.onStop(route);
+
+ stoppedLatch.countDown();
+ }
+ };
+ policy.setRouteStartTime("*/3 * * * * ?");
+ policy.setRouteStopTime("*/6 * * * * ?");
+ policy.setRouteStopGracePeriod(0);
+
+ from("direct:start")
+ .routeId("test")
+ .routePolicy(policy)
+ .noAutoStartup()
+ .to("mock:success");
+ }
+ });
+ context.start();
+
+ startedLatch.await(5000, TimeUnit.SECONDS);
+
+ ServiceStatus startedStatus = context.getRouteStatus("test");
+ assertTrue(startedStatus == ServiceStatus.Started || startedStatus == ServiceStatus.Starting);
+ template.sendBody("direct:start", "Ready or not, Here, I come");
+
+ stoppedLatch.await(5000, TimeUnit.SECONDS);
+
+ ServiceStatus stoppedStatus = context.getRouteStatus("test");
+ assertTrue(stoppedStatus == ServiceStatus.Stopped || stoppedStatus == ServiceStatus.Stopping);
+
+ success.assertIsSatisfied();
+ }
@Test
public void testScheduledStopRoutePolicyWithExtraPolicy() throws Exception {
[4/4] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/35b55e25
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/35b55e25
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/35b55e25
Branch: refs/heads/camel-2.16.x
Commit: 35b55e257338cae43ac3a3e1df48db316c721306
Parents: b4aa854
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 08:12:54 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 08:14:35 2015 +0100
----------------------------------------------------------------------
.../org/apache/camel/model/rest/RestConfigurationDefinition.java | 2 +-
.../org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/35b55e25/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
index 155a513..5dc4804 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
@@ -600,7 +600,7 @@ public class RestConfigurationDefinition {
}
/**
- * For additional configuration options on data format level
+ * For configuring an api property, such as <tt>api.title</tt>, or <tt>api.version</tt>.
*/
public RestConfigurationDefinition apiProperty(String key, String value) {
RestPropertyDefinition prop = new RestPropertyDefinition();
http://git-wip-us.apache.org/repos/asf/camel/blob/35b55e25/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
index 373db45..7b0f5df 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
@@ -50,7 +50,9 @@ public class SwaggerRestApiProcessorFactory implements RestApiProcessorFactory {
}
// and context path is the base.path
String path = configuration.getContextPath();
- options.put("base.path", path);
+ if (path != null) {
+ options.put("base.path", path);
+ }
return new RestSwaggerProcessor(contextIdPattern, contextIdListing, options);
}