This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new e7f272a Make camel-quartz tests run in parallel
e7f272a is described below
commit e7f272a9969cb46144ffb3620eb739ba41a15bff
Author: Guillaume Nodet <[email protected]>
AuthorDate: Thu Mar 18 15:14:37 2021 +0100
Make camel-quartz tests run in parallel
---
components/camel-quartz/pom.xml | 16 ++---
...uartzAddRoutesAfterCamelContextStartedTest.java | 2 +-
...tzComponentCamelContextSharedSchedulerTest.java | 2 -
.../quartz/QuartzEndpointConfigureTest.java | 2 +-
.../component/quartz/QuartzNameCollisionTest.java | 6 --
.../quartz/QuartzOneCamelContextRestartTest.java | 1 -
.../QuartzOneCamelContextSuspendResumeTest.java | 1 -
.../quartz/QuartzRouteFireNowOnlyOnceTest.java | 2 +-
.../component/quartz/QuartzRouteFireNowTest.java | 2 +-
.../component/quartz/QuartzSimpleRouteTest.java | 4 +-
.../quartz/QuartzTwoCamelContextRestartTest.java | 3 +-
.../QuartzTwoCamelContextSuspendResumeTest.java | 2 -
.../quartz/QuartzTwoCamelContextTest.java | 3 -
...QuartzConsumerTwoAppsClusteredFailoverTest.java | 24 +++----
...QuartzConsumerTwoAppsClusteredRecoveryTest.java | 19 +++---
.../quartz/SpringQuartzCronRouteTest.java | 3 +-
...PersistentStoreRestartAppChangeOptionsTest.java | 42 ++++++------
.../SpringQuartzPersistentStoreRestartAppTest.java | 15 ++--
...pringQuartzPersistentStoreRestartRouteTest.java | 3 +-
.../quartz/SpringQuartzPersistentStoreTest.java | 3 +-
.../FileConsumerQuartzSchedulerRestartTest.java | 21 ++----
.../quartz/FileConsumerQuartzSchedulerTest.java | 14 +---
.../quartz/CronScheduledRoutePolicyTest.java | 25 ++++---
.../camel/routepolicy/quartz/NoBuilderTest.java | 15 ++++
.../quartz/SimpleScheduledRoutePolicyTest.java | 24 ++++---
.../quartz/SpringCronScheduledRoutePolicyTest.java | 22 ++++--
.../SpringQuartzTwoAppsClusteredFailoverTest.java | 23 ++++---
.../quartz/SpringScheduledRoutePolicyTest.java | 26 ++++---
.../SpringSimpleScheduledRoutePolicyTest.java | 22 ++++--
.../SpringQuartzConsumerClusteredAppDatabase.xml | 2 +-
.../quartz/SpringQuartzConsumerClusteredAppOne.xml | 10 +--
.../quartz/SpringQuartzConsumerClusteredAppTwo.xml | 10 +--
...SpringQuartzConsumerRecoveryClusteredAppOne.xml | 10 +--
...SpringQuartzConsumerRecoveryClusteredAppTwo.xml | 10 +--
...entStoreRestartAppChangeCronExpressionTest1.xml | 8 +--
...entStoreRestartAppChangeCronExpressionTest2.xml | 8 +--
...entStoreRestartAppChangeCronExpressionTest3.xml | 4 +-
...PersistentStoreRestartAppChangeOptionsTest1.xml | 8 +--
...PersistentStoreRestartAppChangeOptionsTest2.xml | 8 +--
.../SpringQuartzPersistentStoreRestartTest.xml | 10 +--
.../quartz/SpringQuartzPersistentStoreTest.xml | 10 +--
.../quartz/SpringQuartzClusteredAppDatabase.xml | 2 +-
.../quartz/SpringQuartzClusteredAppOne.xml | 10 +--
.../quartz/SpringQuartzClusteredAppTwo.xml | 10 +--
.../test/spring/junit5/CamelSpringTestSupport.java | 79 ++++++++++++++++++++++
parent/pom.xml | 3 +
46 files changed, 321 insertions(+), 228 deletions(-)
diff --git a/components/camel-quartz/pom.xml b/components/camel-quartz/pom.xml
index 83e2989..d5e511a 100644
--- a/components/camel-quartz/pom.xml
+++ b/components/camel-quartz/pom.xml
@@ -31,6 +31,11 @@
<name>Camel :: Quartz</name>
<description>Camel Quartz support</description>
+ <properties>
+ <camel.surefire.parallel>true</camel.surefire.parallel>
+ <camel.surefire.parallel.factor>4</camel.surefire.parallel.factor>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
@@ -108,15 +113,4 @@
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkCount>1</forkCount>
- <reuseForks>false</reuseForks>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzAddRoutesAfterCamelContextStartedTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzAddRoutesAfterCamelContextStartedTest.java
index fc167af..796ed9c 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzAddRoutesAfterCamelContextStartedTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzAddRoutesAfterCamelContextStartedTest.java
@@ -36,7 +36,7 @@ public class QuartzAddRoutesAfterCamelContextStartedTest
extends BaseQuartzTest
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
-
from("quartz://myGroup/myTimerName?trigger.repeatInterval=1000&trigger.repeatCount=1").to("mock:result");
+
from("quartz://myGroup/myTimerName?trigger.repeatInterval=100&trigger.repeatCount=1").to("mock:result");
}
});
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzComponentCamelContextSharedSchedulerTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzComponentCamelContextSharedSchedulerTest.java
index ce9269a..e87c76e 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzComponentCamelContextSharedSchedulerTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzComponentCamelContextSharedSchedulerTest.java
@@ -36,7 +36,6 @@ public class QuartzComponentCamelContextSharedSchedulerTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -46,7 +45,6 @@ public class QuartzComponentCamelContextSharedSchedulerTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
Scheduler camel1Scheduler = camel1.getComponent("quartz",
QuartzComponent.class).getScheduler();
QuartzComponent camel2QuartzComponent = camel2.getComponent("quartz",
QuartzComponent.class);
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
index 378c0aa..17e9479 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
@@ -36,7 +36,7 @@ public class QuartzEndpointConfigureTest extends
BaseQuartzTest {
@Test
public void testConfigureGroupAndName() throws Exception {
QuartzEndpoint endpoint
- =
resolveMandatoryEndpoint("quartz://myGroup/myName?trigger.repeatCount=3&trigger.repeatInterval=1000");
+ =
resolveMandatoryEndpoint("quartz://myGroup/myName?trigger.repeatCount=3&trigger.repeatInterval=100");
Scheduler scheduler = endpoint.getComponent().getScheduler();
TriggerKey triggerKey = endpoint.getTriggerKey();
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java
index 579115f..cd42d98 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java
@@ -40,7 +40,6 @@ public class QuartzNameCollisionTest {
@Test
public void testDupeName() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -64,7 +63,6 @@ public class QuartzNameCollisionTest {
@Test
public void testDupeNameMultiContext() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -74,7 +72,6 @@ public class QuartzNameCollisionTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
camel2.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -90,7 +87,6 @@ public class QuartzNameCollisionTest {
@Test
public void testNoStatefulCollisionError() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -100,7 +96,6 @@ public class QuartzNameCollisionTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
camel2.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -145,7 +140,6 @@ public class QuartzNameCollisionTest {
@Test
public void testRemoveJob() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextRestartTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextRestartTest.java
index c19f5ae..5d56015 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextRestartTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextRestartTest.java
@@ -30,7 +30,6 @@ public class QuartzOneCamelContextRestartTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextSuspendResumeTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextSuspendResumeTest.java
index a714f44..0265b8c 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextSuspendResumeTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzOneCamelContextSuspendResumeTest.java
@@ -30,7 +30,6 @@ public class QuartzOneCamelContextSuspendResumeTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowOnlyOnceTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowOnlyOnceTest.java
index d901937..9d84e7b 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowOnlyOnceTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowOnlyOnceTest.java
@@ -40,7 +40,7 @@ public class QuartzRouteFireNowOnlyOnceTest extends
BaseQuartzTest {
return new RouteBuilder() {
public void configure() {
// START SNIPPET: example
-
from("quartz://myGroup/myTimerName?fireNow=true&trigger.repeatInterval=2000&trigger.repeatCount=0")
+
from("quartz://myGroup/myTimerName?fireNow=true&trigger.repeatInterval=100&trigger.repeatCount=0")
.to("log:quartz")
.to("mock:result");
// END SNIPPET: example
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowTest.java
index 98236e9..8beb6b4 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteFireNowTest.java
@@ -40,7 +40,7 @@ public class QuartzRouteFireNowTest extends BaseQuartzTest {
return new RouteBuilder() {
public void configure() {
// START SNIPPET: example
-
from("quartz://myGroup/myTimerName?fireNow=true&trigger.repeatInterval=2000&trigger.repeatCount=2")
+
from("quartz://myGroup/myTimerName?fireNow=true&trigger.repeatInterval=100&trigger.repeatCount=2")
.to("log:quartz")
.to("mock:result");
// END SNIPPET: example
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzSimpleRouteTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzSimpleRouteTest.java
index 854107ce..924ec40 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzSimpleRouteTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzSimpleRouteTest.java
@@ -46,7 +46,7 @@ public class QuartzSimpleRouteTest extends BaseQuartzTest {
assertThat(detail.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_TYPE).equals("simple"),
CoreMatchers.is(true));
assertThat(detail.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_SIMPLE_REPEAT_COUNTER).equals(-1),
CoreMatchers.is(true));
-
assertThat(detail.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_SIMPLE_REPEAT_INTERVAL).equals(2000L),
+
assertThat(detail.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_SIMPLE_REPEAT_INTERVAL).equals(100L),
CoreMatchers.is(true));
}
@@ -54,7 +54,7 @@ public class QuartzSimpleRouteTest extends BaseQuartzTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
-
from("quartz://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.repeatCount=-1").to("mock:result");
+
from("quartz://myGroup/myTimerName?trigger.repeatInterval=100&trigger.repeatCount=-1").to("mock:result");
}
};
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextRestartTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextRestartTest.java
index 7a76ac1..1844a9c 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextRestartTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextRestartTest.java
@@ -31,7 +31,6 @@ public class QuartzTwoCamelContextRestartTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -41,7 +40,7 @@ public class QuartzTwoCamelContextRestartTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
+ camel2.getComponent("quartz",
QuartzComponent.class).setEnableJmx(false);
camel2.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSuspendResumeTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSuspendResumeTest.java
index fec64eb..0616203 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSuspendResumeTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSuspendResumeTest.java
@@ -31,7 +31,6 @@ public class QuartzTwoCamelContextSuspendResumeTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -41,7 +40,6 @@ public class QuartzTwoCamelContextSuspendResumeTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
camel2.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextTest.java
index 998344e..2f24d4c 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextTest.java
@@ -31,7 +31,6 @@ public class QuartzTwoCamelContextTest {
@BeforeEach
public void setUp() throws Exception {
camel1 = new DefaultCamelContext();
- camel1.setName("camel-1");
camel1.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -41,7 +40,6 @@ public class QuartzTwoCamelContextTest {
camel1.start();
camel2 = new DefaultCamelContext();
- camel2.setName("camel-2");
camel2.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -80,7 +78,6 @@ public class QuartzTwoCamelContextTest {
camel2.stop();
DefaultCamelContext camel3 = new DefaultCamelContext();
- camel3.setName("camel-3");
camel3.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredFailoverTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredFailoverTest.java
index a3ccd0a..50cf0b2 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredFailoverTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredFailoverTest.java
@@ -20,12 +20,12 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.apache.camel.util.IOHelper;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Tests a Quartz based cluster setup of two Camel Apps being triggered
through {@link QuartzConsumer}.
@@ -37,29 +37,23 @@ public class
SpringQuartzConsumerTwoAppsClusteredFailoverTest {
@Test
public void testQuartzPersistentStoreClusteredApp() throws Exception {
// boot up the database the two apps are going to share inside a
clustered quartz setup
- AbstractXmlApplicationContext db = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml");
+ AbstractXmlApplicationContext db =
newAppContext("SpringQuartzConsumerClusteredAppDatabase.xml");
db.start();
// now launch the first clustered app which will acquire the quartz
database lock and become the master
- AbstractXmlApplicationContext app = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppOne.xml");
+ AbstractXmlApplicationContext app =
newAppContext("SpringQuartzConsumerClusteredAppOne.xml");
app.start();
// as well as the second one which will run in slave mode as it will
not be able to acquire the same lock
- AbstractXmlApplicationContext app2 = new
ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppTwo.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzConsumerClusteredAppTwo.xml");
app2.start();
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
MockEndpoint mock = camel.getEndpoint("mock:result",
MockEndpoint.class);
mock.expectedMinimumMessageCount(3);
mock.expectedMessagesMatches(new ClusteringPredicate(true));
- // let the route run a bit...
- Thread.sleep(5000);
-
mock.assertIsSatisfied();
// now let's simulate a crash of the first app (the quartz instance
'app-one')
@@ -71,7 +65,7 @@ public class SpringQuartzConsumerTwoAppsClusteredFailoverTest
{
log.warn("Crashed...");
// wait long enough until the second app takes it over...
- Thread.sleep(20000);
+ Thread.sleep(2000);
// inside the logs one can then clearly see how the route of the
second app ('app-two') starts consuming:
// 2013-09-30 11:22:20,349 [main ] WARN
erTwoAppsClusteredFailoverTest - Crashed...
// 2013-09-30 11:22:20,349 [main ] WARN
erTwoAppsClusteredFailoverTest - Crashed...
@@ -80,7 +74,7 @@ public class SpringQuartzConsumerTwoAppsClusteredFailoverTest
{
// 2013-09-30 11:22:35,340 [_ClusterManager] INFO
LocalDataSourceJobStore - ClusterManager: Scanning for instance
"app-one"'s failed in-progress jobs.
// 2013-09-30 11:22:35,369 [eduler_Worker-1] INFO triggered
- Exchange[ExchangePattern: InOnly, BodyType: String, Body:
clustering PONGS!]
- CamelContext camel2 = app2.getBean("camelContext2",
CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext2-" +
getClass().getSimpleName(), CamelContext.class);
MockEndpoint mock2 = camel2.getEndpoint("mock:result",
MockEndpoint.class);
mock2.expectedMinimumMessageCount(3);
@@ -92,6 +86,10 @@ public class
SpringQuartzConsumerTwoAppsClusteredFailoverTest {
IOHelper.close(app2, db);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+
private static class ClusteringPredicate implements Predicate {
private final String expectedPayload;
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredRecoveryTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredRecoveryTest.java
index 9735e7c..8e6f7f5 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredRecoveryTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzConsumerTwoAppsClusteredRecoveryTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.apache.camel.util.IOHelper;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
@@ -29,7 +30,6 @@ import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Tests a Quartz based cluster setup of two Camel Apps being triggered
through with recoverableJob option is true
@@ -42,12 +42,10 @@ public class
SpringQuartzConsumerTwoAppsClusteredRecoveryTest {
@Test
public void testQuartzPersistentStoreClusteredApp() throws Exception {
// boot up the database the two apps are going to share inside a
clustered quartz setup
- AbstractXmlApplicationContext db = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml");
+ AbstractXmlApplicationContext db =
newAppContext("SpringQuartzConsumerClusteredAppDatabase.xml");
// now launch the first clustered app which will acquire the quartz
database lock and become the master
- AbstractXmlApplicationContext app = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppOne.xml");
+ AbstractXmlApplicationContext app =
newAppContext("SpringQuartzConsumerRecoveryClusteredAppOne.xml");
// now let's simulate a crash of the first app (the quartz instance
'app-one')
log.warn("The first app is going to crash NOW!");
@@ -60,12 +58,11 @@ public class
SpringQuartzConsumerTwoAppsClusteredRecoveryTest {
Thread.sleep(2000);
// as well as the second one which will run in slave mode as it will
not be able to acquire the same lock
- AbstractXmlApplicationContext app2 = new
ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppTwo.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzConsumerRecoveryClusteredAppTwo.xml");
app2.start();
// wait long enough until the second app takes it over...
- Thread.sleep(20000);
+ Thread.sleep(2000);
// inside the logs one can then clearly see how the route of the
second app ('app-two') starts consuming:
// 2013-09-30 11:22:20,349 [main ] WARN
erTwoAppsClusteredFailoverTest - Crashed...
// 2013-09-30 11:22:20,349 [main ] WARN
erTwoAppsClusteredFailoverTest - Crashed...
@@ -74,7 +71,7 @@ public class SpringQuartzConsumerTwoAppsClusteredRecoveryTest
{
// 2013-09-30 11:22:35,340 [_ClusterManager] INFO
LocalDataSourceJobStore - ClusterManager: Scanning for instance
"app-one"'s failed in-progress jobs.
// 2013-09-30 11:22:35,369 [eduler_Worker-1] INFO triggered
- Exchange[ExchangePattern: InOnly, BodyType: String, Body:
clustering PONGS!]
- CamelContext camel2 = app2.getBean("camelContext2",
CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext2-" +
getClass().getSimpleName(), CamelContext.class);
MockEndpoint mock2 = camel2.getEndpoint("mock:result",
MockEndpoint.class);
mock2.expectedMinimumMessageCount(2);
@@ -86,6 +83,10 @@ public class
SpringQuartzConsumerTwoAppsClusteredRecoveryTest {
IOHelper.close(app2, db);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+
private static class ClusteringPredicate implements Predicate {
private final String expectedPayload;
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzCronRouteTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzCronRouteTest.java
index e2aeb07..e83b6d1 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzCronRouteTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzCronRouteTest.java
@@ -20,13 +20,12 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringQuartzCronRouteTest extends CamelSpringTestSupport {
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
- return new
ClassPathXmlApplicationContext("org/apache/camel/component/quartz/SpringQuartzCronRouteTest.xml");
+ return newAppContext("SpringQuartzCronRouteTest.xml");
}
@Test
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java
index 671b543..fdd647b 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.quartz;
import org.apache.camel.CamelContext;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.apache.camel.util.IOHelper;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
@@ -30,7 +31,6 @@ import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -50,8 +50,7 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
@BeforeAll
public static void prepareDB() {
// boot up the database the two invocations are going to share inside
a clustered quartz setup
- db = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml");
+ db = newAppContext("SpringQuartzConsumerClusteredAppDatabase.xml");
db.start();
}
@@ -76,10 +75,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
// After that it asserts that two cron expressions are not equal.
// load spring app
- app = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml");
+ app =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml");
app.start();
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel);
String cronExpression = ((CronTrigger) getTrigger(camel,
"quartzRoute")).getCronExpression();
app.stop();
@@ -89,10 +87,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
log.info("Restarting ...");
// load spring app
- app2 = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml");
+ app2 =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml");
app2.start();
- CamelContext camel2 = app2.getBean("camelContext", CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel2);
String cronExpression2 = ((CronTrigger) getTrigger(camel2,
"quartzRoute")).getCronExpression();
app2.stop();
@@ -100,8 +97,7 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
assertNotEquals(cronExpression, cronExpression2);
// load spring app
- app3 = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml");
+ app3 =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml");
app3.start();
CamelContext camel3 = app3.getBean("camelContext3",
CamelContext.class);
assertNotNull(camel3);
@@ -119,10 +115,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
// After that it asserts that two options are not equal.
// load spring app
- AbstractXmlApplicationContext app = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml");
+ AbstractXmlApplicationContext app =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml");
app.start();
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel);
SimpleTrigger trigger = (SimpleTrigger) getTrigger(camel,
"quartzRoute");
long repeatInterval = trigger.getRepeatInterval();
@@ -133,10 +128,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
log.info("Restarting ...");
// load spring app
- AbstractXmlApplicationContext app2 = new
ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml");
app2.start();
- CamelContext camel2 = app2.getBean("camelContext", CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel2);
SimpleTrigger trigger2 = (SimpleTrigger) getTrigger(camel2,
"quartzRoute");
long repeatInterval2 = trigger2.getRepeatInterval();
@@ -158,10 +152,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
// After that it asserts that two options are not equal.
// load spring app
- app = new ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml");
+ app =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml");
app.start();
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel);
assertTrue(getTrigger(camel, "quartzRoute") instanceof CronTrigger);
app.stop();
@@ -171,10 +164,9 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
log.info("Restarting ...");
// load spring app
- AbstractXmlApplicationContext app2 = new
ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml");
app2.start();
- CamelContext camel2 = app2.getBean("camelContext", CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel2);
assertTrue(getTrigger(camel2, "quartzRoute") instanceof SimpleTrigger);
app2.stop();
@@ -192,4 +184,8 @@ public class
SpringQuartzPersistentStoreRestartAppChangeOptionsTest {
return scheduler.getTrigger(endpoint.getTriggerKey());
}
+ private static AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config,
SpringQuartzPersistentStoreRestartAppChangeOptionsTest.class);
+ }
+
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
index dfe774d..2765ae8 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppTest.java
@@ -18,12 +18,12 @@ package org.apache.camel.component.quartz;
import org.apache.camel.CamelContext;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.apache.camel.util.IOHelper;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -35,11 +35,11 @@ public class SpringQuartzPersistentStoreRestartAppTest {
public void testQuartzPersistentStoreRestart() throws Exception {
// load spring app
AbstractXmlApplicationContext app
- = new
ClassPathXmlApplicationContext("org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml");
+ = newAppContext("SpringQuartzPersistentStoreTest.xml");
app.start();
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel);
MockEndpoint mock = camel.getEndpoint("mock:result",
MockEndpoint.class);
@@ -61,12 +61,11 @@ public class SpringQuartzPersistentStoreRestartAppTest {
// is supposed to handle and start again
// load spring app
- AbstractXmlApplicationContext app2 = new
ClassPathXmlApplicationContext(
-
"org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzPersistentStoreRestartTest.xml");
app2.start();
- CamelContext camel2 = app2.getBean("camelContext", CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
assertNotNull(camel2);
MockEndpoint mock2 = camel2.getEndpoint("mock:result",
MockEndpoint.class);
@@ -82,4 +81,8 @@ public class SpringQuartzPersistentStoreRestartAppTest {
IOHelper.close(app2, app);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
index 36831a4..a4f302f 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartRouteTest.java
@@ -20,7 +20,6 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
import static org.apache.camel.test.junit5.TestSupport.isPlatform;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
@@ -29,7 +28,7 @@ public class SpringQuartzPersistentStoreRestartRouteTest
extends CamelSpringTest
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
- return new
ClassPathXmlApplicationContext("org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml");
+ return newAppContext("SpringQuartzPersistentStoreTest.xml");
}
@Test
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.java
index 996a946..81af4d1 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.java
@@ -20,13 +20,12 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringQuartzPersistentStoreTest extends CamelSpringTestSupport {
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
- return new
ClassPathXmlApplicationContext("org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml");
+ return newAppContext("SpringQuartzPersistentStoreTest.xml");
}
@Test
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerRestartTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerRestartTest.java
index f9896fb..e7c9de2 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerRestartTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerRestartTest.java
@@ -19,24 +19,14 @@ package org.apache.camel.pollconsumer.quartz;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
-
public class FileConsumerQuartzSchedulerRestartTest extends CamelTestSupport {
- @Override
- @BeforeEach
- public void setUp() throws Exception {
- deleteDirectory("target/file/quartz");
- super.setUp();
- }
-
@Test
public void testQuartzSchedulerRestart() throws Exception {
getMockEndpoint("mock:result").expectedMessageCount(1);
- template.sendBodyAndHeader("file:target/file/quartz", "Hello World",
Exchange.FILE_NAME, "hello.txt");
+ template.sendBodyAndHeader(fileUri(), "Hello World",
Exchange.FILE_NAME, "hello.txt");
context.getRouteController().startRoute("foo");
assertMockEndpointsSatisfied();
@@ -44,7 +34,7 @@ public class FileConsumerQuartzSchedulerRestartTest extends
CamelTestSupport {
resetMocks();
getMockEndpoint("mock:result").expectedMessageCount(1);
- template.sendBodyAndHeader("file:target/file/quartz", "Bye World",
Exchange.FILE_NAME, "bye.txt");
+ template.sendBodyAndHeader(fileUri(), "Bye World", Exchange.FILE_NAME,
"bye.txt");
context.getRouteController().startRoute("foo");
assertMockEndpointsSatisfied();
}
@@ -54,9 +44,10 @@ public class FileConsumerQuartzSchedulerRestartTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
-
from("file:target/file/quartz?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerGroup=myGroup&scheduler.triggerId=myId")
- .routeId("foo").noAutoStartup()
- .to("mock:result");
+ from(fileUri(
+
"?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerGroup=myGroup&scheduler.triggerId=myId"))
+ .routeId("foo").noAutoStartup()
+ .to("mock:result");
}
};
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerTest.java
index 57f3281..dd7a1ee 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/pollconsumer/quartz/FileConsumerQuartzSchedulerTest.java
@@ -19,25 +19,15 @@ package org.apache.camel.pollconsumer.quartz;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
-
public class FileConsumerQuartzSchedulerTest extends CamelTestSupport {
- @Override
- @BeforeEach
- public void setUp() throws Exception {
- deleteDirectory("target/file/quartz");
- super.setUp();
- }
-
@Test
public void testQuartzScheduler() throws Exception {
getMockEndpoint("mock:result").expectedMessageCount(1);
- template.sendBodyAndHeader("file:target/file/quartz", "Hello World",
Exchange.FILE_NAME, "hello.txt");
+ template.sendBodyAndHeader(fileUri(), "Hello World",
Exchange.FILE_NAME, "hello.txt");
context.getRouteController().startRoute("foo");
@@ -49,7 +39,7 @@ public class FileConsumerQuartzSchedulerTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
-
from("file:target/file/quartz?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?").routeId("foo").noAutoStartup()
+
from(fileUri("?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?")).routeId("foo").noAutoStartup()
.to("mock:result");
}
};
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicyTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicyTest.java
index 470c94c..dafee85 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicyTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicyTest.java
@@ -28,19 +28,15 @@ import org.apache.camel.component.direct.DirectComponent;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.quartz.QuartzComponent;
import org.apache.camel.support.service.ServiceHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class CronScheduledRoutePolicyTest extends CamelTestSupport {
-
- @Override
- public boolean isUseRouteBuilder() {
- return false;
- }
+public class CronScheduledRoutePolicyTest {
+}
+class CronTest1 extends NoBuilderTest {
@Test
public void testScheduledStartRoutePolicyWithTwoRoutes() throws Exception {
MockEndpoint success1 = context.getEndpoint("mock:success1",
MockEndpoint.class);
@@ -81,7 +77,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
success1.assertIsSatisfied();
success2.assertIsSatisfied();
}
+}
+class CronTest2 extends NoBuilderTest {
@Test
public void testScheduledStopRoutePolicyWithTwoRoutes() throws Exception {
context.getComponent("direct", DirectComponent.class).setBlock(false);
@@ -112,7 +110,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
assertSame(ServiceStatus.Stopped,
context.getRouteController().getRouteStatus("test1"));
assertSame(ServiceStatus.Stopped,
context.getRouteController().getRouteStatus("test2"));
}
+}
+class CronTest3 extends NoBuilderTest {
@Test
public void testScheduledStartRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -143,7 +143,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
context.getComponent("quartz", QuartzComponent.class).stop();
success.assertIsSatisfied();
}
+}
+class CronTest4 extends NoBuilderTest {
@Test
public void testScheduledStopRoutePolicy() throws Exception {
context.getComponent("direct", DirectComponent.class).setBlock(false);
@@ -167,7 +169,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
Thread.sleep(5000);
assertSame(ServiceStatus.Stopped,
context.getRouteController().getRouteStatus("test"));
}
+}
+class CronTest5 extends NoBuilderTest {
@Test
public void testScheduledStartAndStopRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -223,7 +227,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
success.assertIsSatisfied();
}
+}
+class CronTest6 extends NoBuilderTest {
@Test
public void testScheduledStopRoutePolicyWithExtraPolicy() throws Exception
{
final MyRoutePolicy myPolicy = new MyRoutePolicy();
@@ -252,7 +258,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
assertTrue(myPolicy.isStart(), "Should have called onStart");
assertTrue(myPolicy.isStop(), "Should have called onStop");
}
+}
+class CronTest7 extends NoBuilderTest {
@Test
public void testScheduledSuspendRoutePolicy() throws Exception {
context.getComponent("direct", DirectComponent.class).setBlock(false);
@@ -279,7 +287,9 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
SuspendableService ss = (SuspendableService) consumer;
assertTrue(ss.isSuspended(), "Consumer should be suspended");
}
+}
+class CronTest8 extends NoBuilderTest {
@Test
public void testScheduledResumeRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -310,5 +320,4 @@ public class CronScheduledRoutePolicyTest extends
CamelTestSupport {
success.assertIsSatisfied();
}
-
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/NoBuilderTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/NoBuilderTest.java
new file mode 100644
index 0000000..1b465a3
--- /dev/null
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/NoBuilderTest.java
@@ -0,0 +1,15 @@
+package org.apache.camel.routepolicy.quartz;
+
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+class NoBuilderTest extends CamelTestSupport {
+
+ static final Logger LOG =
LoggerFactory.getLogger(SimpleScheduledRoutePolicyTest.class);
+
+ @Override
+ public boolean isUseRouteBuilder() {
+ return false;
+ }
+}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java
index ace5c24..06edac4 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java
@@ -26,23 +26,16 @@ import org.apache.camel.component.direct.DirectComponent;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.quartz.QuartzComponent;
import org.apache.camel.support.service.ServiceHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
-public class SimpleScheduledRoutePolicyTest extends CamelTestSupport {
- private static final Logger LOG =
LoggerFactory.getLogger(SimpleScheduledRoutePolicyTest.class);
-
- @Override
- public boolean isUseRouteBuilder() {
- return false;
- }
+public class SimpleScheduledRoutePolicyTest {
+}
+class SimpleTest1 extends NoBuilderTest {
@Test
public void testScheduledStartRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -75,7 +68,9 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
context.getComponent("quartz", QuartzComponent.class).stop();
success.assertIsSatisfied();
}
+}
+class SimpleTest2 extends NoBuilderTest {
@Test
public void testScheduledStopRoutePolicy() throws Exception {
context.getComponent("direct", DirectComponent.class).setBlock(false);
@@ -110,7 +105,9 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
assertTrue(consumerStopped);
context.getComponent("quartz", QuartzComponent.class).stop();
}
+}
+class SimpleTest3 extends NoBuilderTest {
@Test
public void testScheduledSuspendRoutePolicy() throws Exception {
context.getComponent("direct", DirectComponent.class).setBlock(false);
@@ -143,7 +140,9 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
assertTrue(consumerSuspended);
context.getComponent("quartz", QuartzComponent.class).stop();
}
+}
+class SimpleTest4 extends NoBuilderTest {
@Test
public void testScheduledResumeRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -182,7 +181,9 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
context.getComponent("quartz", QuartzComponent.class).stop();
success.assertIsSatisfied();
}
+}
+class SimpleTest5 extends NoBuilderTest {
@Test
public void testScheduledSuspendAndResumeRoutePolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -225,7 +226,9 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
context.getComponent("quartz", QuartzComponent.class).stop();
success.assertIsSatisfied();
}
+}
+class SimpleTest6 extends NoBuilderTest {
@Test
public void testScheduledSuspendAndRestartPolicy() throws Exception {
MockEndpoint success = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -267,5 +270,4 @@ public class SimpleScheduledRoutePolicyTest extends
CamelTestSupport {
context.getComponent("quartz", QuartzComponent.class).stop();
success.assertIsSatisfied();
}
-
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringCronScheduledRoutePolicyTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringCronScheduledRoutePolicyTest.java
index 841d990..1ee1c8f 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringCronScheduledRoutePolicyTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringCronScheduledRoutePolicyTest.java
@@ -16,36 +16,46 @@
*/
package org.apache.camel.routepolicy.quartz;
-import org.junit.jupiter.api.BeforeEach;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.AbstractXmlApplicationContext;
-public class SpringCronScheduledRoutePolicyTest extends
SpringScheduledRoutePolicyTest {
+public abstract class SpringCronScheduledRoutePolicyTest extends
SpringScheduledRoutePolicyTest {
- @BeforeEach
public void setUp() {
- setApplicationContext(new
ClassPathXmlApplicationContext("org/apache/camel/routepolicy/quartz/CronPolicies.xml"));
+ setApplicationContext(newAppContext("CronPolicies.xml"));
setTestType(TestType.CRON);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+}
+
+class Test1SpringCronScheduledRoutePolicyTest extends
SpringCronScheduledRoutePolicyTest {
@Test
public void testScheduledStartRoutePolicy() throws Exception {
startTest();
}
+}
+class Test2SpringCronScheduledRoutePolicyTest extends
SpringCronScheduledRoutePolicyTest {
@Test
public void testScheduledStopRoutePolicy() throws Exception {
stopTest();
}
+}
+class Test3SpringCronScheduledRoutePolicyTest extends
SpringCronScheduledRoutePolicyTest {
@Test
public void testScheduledSuspendRoutePolicy() throws Exception {
suspendTest();
}
+}
+class Test4SpringCronScheduledRoutePolicyTest extends
SpringCronScheduledRoutePolicyTest {
@Test
public void testScheduledResumeRoutePolicy() throws Exception {
resumeTest();
}
-
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringQuartzTwoAppsClusteredFailoverTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringQuartzTwoAppsClusteredFailoverTest.java
index 9cd04e2..02cf342 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringQuartzTwoAppsClusteredFailoverTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringQuartzTwoAppsClusteredFailoverTest.java
@@ -19,13 +19,13 @@ package org.apache.camel.routepolicy.quartz;
import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.apache.camel.util.IOHelper;
import org.junit.jupiter.api.Test;
import org.quartz.Scheduler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Tests a Quartz based cluster setup of two Camel Apps being triggered
through {@link CronScheduledRoutePolicy}.
@@ -37,25 +37,22 @@ public class SpringQuartzTwoAppsClusteredFailoverTest {
@Test
public void testQuartzPersistentStoreClusteredApp() throws Exception {
// boot up the database the two apps are going to share inside a
clustered quartz setup
- AbstractXmlApplicationContext db = new ClassPathXmlApplicationContext(
-
"org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppDatabase.xml");
+ AbstractXmlApplicationContext db =
newAppContext("SpringQuartzClusteredAppDatabase.xml");
// now launch the first clustered app which will acquire the quartz
database lock and become the master
- AbstractXmlApplicationContext app
- = new
ClassPathXmlApplicationContext("org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppOne.xml");
+ AbstractXmlApplicationContext app =
newAppContext("SpringQuartzClusteredAppOne.xml");
// as well as the second one which will run in slave mode as it will
not be able to acquire the same lock
- AbstractXmlApplicationContext app2
- = new
ClassPathXmlApplicationContext("org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppTwo.xml");
+ AbstractXmlApplicationContext app2 =
newAppContext("SpringQuartzClusteredAppTwo.xml");
- CamelContext camel = app.getBean("camelContext", CamelContext.class);
+ CamelContext camel = app.getBean("camelContext-" +
getClass().getSimpleName(), CamelContext.class);
MockEndpoint mock = camel.getEndpoint("mock:result",
MockEndpoint.class);
mock.expectedMessageCount(1);
mock.expectedBodiesReceived("clustering PINGS!");
// wait a bit to make sure the route has already been properly started
through the given route policy
- Thread.sleep(5000);
+ Thread.sleep(500);
app.getBean("template",
ProducerTemplate.class).sendBody("direct:start", "clustering");
@@ -74,7 +71,7 @@ public class SpringQuartzTwoAppsClusteredFailoverTest {
log.warn("Crashed...");
// wait long enough until the second app takes it over...
- Thread.sleep(20000);
+ Thread.sleep(2000);
// inside the logs one can then clearly see how the route of the
second app ('app-two') gets started:
// 2013-09-29 08:15:17,038 [main ] WARN
tzTwoAppsClusteredFailoverTest:65 - Crashed...
// 2013-09-29 08:15:17,038 [main ] WARN
tzTwoAppsClusteredFailoverTest:66 - Crashed...
@@ -83,7 +80,7 @@ public class SpringQuartzTwoAppsClusteredFailoverTest {
// 2013-09-29 08:15:32,001 [_ClusterManager] INFO
LocalDataSourceJobStore :3426 - ClusterManager: Scanning for instance
"app-one"'s failed in-progress jobs.
// 2013-09-29 08:15:32,024 [eduler_Worker-1] INFO SpringCamelContext
:2183 - Route: myRoute started and consuming from:
Endpoint[direct://start]
- CamelContext camel2 = app2.getBean("camelContext2",
CamelContext.class);
+ CamelContext camel2 = app2.getBean("camelContext2-" +
getClass().getSimpleName(), CamelContext.class);
MockEndpoint mock2 = camel2.getEndpoint("mock:result",
MockEndpoint.class);
mock2.expectedMessageCount(1);
@@ -97,4 +94,8 @@ public class SpringQuartzTwoAppsClusteredFailoverTest {
IOHelper.close(app2, db);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringScheduledRoutePolicyTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringScheduledRoutePolicyTest.java
index 3dc6855..f038867 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringScheduledRoutePolicyTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringScheduledRoutePolicyTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.support.service.ServiceHelper;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.AbstractXmlApplicationContext;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -39,10 +39,14 @@ public abstract class SpringScheduledRoutePolicyTest {
CRON
}
- private ClassPathXmlApplicationContext applicationContext;
+ private AbstractXmlApplicationContext applicationContext;
private TestType testType;
+ public abstract void setUp();
+
public void startTest() throws Exception {
+ setUp();
+
CamelContext context = startRouteWithPolicy("startPolicy");
MockEndpoint mock = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -52,13 +56,15 @@ public abstract class SpringScheduledRoutePolicyTest {
Thread.sleep(4000);
assertSame(ServiceStatus.Started,
context.getRouteController().getRouteStatus("testRoute"));
- context.createProducerTemplate().sendBody("direct:start", "Ready or
not, Here, I come");
+ context.createProducerTemplate().sendBody("direct:start?timeout=1000",
"Ready or not, Here, I come");
context.stop();
mock.assertIsSatisfied();
}
public void stopTest() throws Exception {
+ setUp();
+
boolean consumerStopped = false;
CamelContext context = startRouteWithPolicy("stopPolicy");
@@ -66,7 +72,7 @@ public abstract class SpringScheduledRoutePolicyTest {
Thread.sleep(4000);
assertSame(ServiceStatus.Stopped,
context.getRouteController().getRouteStatus("testRoute"));
try {
- context.createProducerTemplate().sendBody("direct:start", "Ready
or not, Here, I come");
+
context.createProducerTemplate().sendBody("direct:start?timeout=1000", "Ready
or not, Here, I come");
} catch (CamelExecutionException e) {
consumerStopped = true;
}
@@ -75,13 +81,15 @@ public abstract class SpringScheduledRoutePolicyTest {
}
public void suspendTest() throws Exception {
+ setUp();
+
boolean consumerSuspended = false;
CamelContext context = startRouteWithPolicy("suspendPolicy");
Thread.sleep(4000);
try {
- context.createProducerTemplate().sendBody("direct:start", "Ready
or not, Here, I come");
+
context.createProducerTemplate().sendBody("direct:start?timeout=1000", "Ready
or not, Here, I come");
} catch (CamelExecutionException e) {
consumerSuspended = true;
}
@@ -91,6 +99,8 @@ public abstract class SpringScheduledRoutePolicyTest {
}
public void resumeTest() throws Exception {
+ setUp();
+
CamelContext context = startRouteWithPolicy("resumePolicy");
MockEndpoint mock = context.getEndpoint("mock:success",
MockEndpoint.class);
@@ -99,7 +109,7 @@ public abstract class SpringScheduledRoutePolicyTest {
ServiceHelper.suspendService(context.getRoute("testRoute").getConsumer());
Thread.sleep(4000);
- context.createProducerTemplate().sendBody("direct:start", "Ready or
not, Here, I come");
+ context.createProducerTemplate().sendBody("direct:start?timeout=1000",
"Ready or not, Here, I come");
context.stop();
mock.assertIsSatisfied();
@@ -119,11 +129,11 @@ public abstract class SpringScheduledRoutePolicyTest {
return context;
}
- public ClassPathXmlApplicationContext getApplicationContext() {
+ public AbstractXmlApplicationContext getApplicationContext() {
return applicationContext;
}
- public void setApplicationContext(ClassPathXmlApplicationContext
applicationContext) {
+ public void setApplicationContext(AbstractXmlApplicationContext
applicationContext) {
this.applicationContext = applicationContext;
}
diff --git
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringSimpleScheduledRoutePolicyTest.java
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringSimpleScheduledRoutePolicyTest.java
index c7d713d..ee81cb4 100644
---
a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringSimpleScheduledRoutePolicyTest.java
+++
b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringSimpleScheduledRoutePolicyTest.java
@@ -16,36 +16,46 @@
*/
package org.apache.camel.routepolicy.quartz;
-import org.junit.jupiter.api.BeforeEach;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.AbstractXmlApplicationContext;
-public class SpringSimpleScheduledRoutePolicyTest extends
SpringScheduledRoutePolicyTest {
+public abstract class SpringSimpleScheduledRoutePolicyTest extends
SpringScheduledRoutePolicyTest {
- @BeforeEach
public void setUp() {
- setApplicationContext(new
ClassPathXmlApplicationContext("org/apache/camel/routepolicy/quartz/SimplePolicies.xml"));
+ setApplicationContext(newAppContext("SimplePolicies.xml"));
setTestType(TestType.SIMPLE);
}
+ private AbstractXmlApplicationContext newAppContext(String config) {
+ return CamelSpringTestSupport.newAppContext(config, getClass());
+ }
+}
+
+class Test1SpringScheduledRoutePolicyTest extends
SpringSimpleScheduledRoutePolicyTest {
@Test
public void testScheduledStartRoutePolicy() throws Exception {
startTest();
}
+}
+class Test2SpringScheduledRoutePolicyTest extends
SpringSimpleScheduledRoutePolicyTest {
@Test
public void testScheduledStopRoutePolicy() throws Exception {
stopTest();
}
+}
+class Test3SpringScheduledRoutePolicyTest extends
SpringSimpleScheduledRoutePolicyTest {
@Test
public void testScheduledSuspendRoutePolicy() throws Exception {
suspendTest();
}
+}
+class Test4SpringScheduledRoutePolicyTest extends
SpringSimpleScheduledRoutePolicyTest {
@Test
public void testScheduledResumeRoutePolicy() throws Exception {
resumeTest();
}
-
}
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml
index 8b967e5..7873de9 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppDatabase.xml
@@ -25,7 +25,7 @@
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc.xsd">
<!-- the embedded persistent storage for quartz -->
- <jdbc:embedded-database id="quartz-db" type="DERBY">
+ <jdbc:embedded-database id="{{testClassSimpleName}}" type="DERBY">
<jdbc:script location="classpath:tables_derby.sql"/>
</jdbc:embedded-database>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppOne.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppOne.xml
index 2cc2325..8ff0887d 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppOne.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppOne.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,23 +45,23 @@
<map>
<!-- CamelJob makes use of the following key below to find the same
Job as we failover to 'app-two' -->
<!-- QuartzConstants.QUARTZ_CAMEL_CONTEXT + "-" + camelContextName -->
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry
key="CamelQuartzCamelContext-camelContext-{{testClassSimpleName}}"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-one</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
- <camelContext id="camelContext" shutdownEager="false"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
shutdownEager="false" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute">
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=-1"
/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppTwo.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppTwo.xml
index 88e5366..4bd612a 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppTwo.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerClusteredAppTwo.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -43,23 +43,23 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext2"/>
+ <entry
key="CamelQuartzCamelContext-camelContext-{{testClassSimpleName}}"
value-ref="camelContext2-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-two</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
- <camelContext id="camelContext2" shutdownEager="false"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext2-{{testClassSimpleName}}"
shutdownEager="false" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute">
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=-1"
/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppOne.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppOne.xml
index 04b9cf7..126c8be 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppOne.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppOne.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,25 +45,25 @@
<map>
<!-- CamelJob makes use of the following key below to find the same
Job as we failover to 'app-two' -->
<!-- QuartzConstants.QUARTZ_CAMEL_CONTEXT + "-" + camelContextName -->
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry
key="CamelQuartzCamelContext-camelContext-{{testClassSimpleName}}"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-one</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
<bean id="myProcessor"
class="org.apache.camel.component.quartz.SpringQuartzConsumerTwoAppsClusteredRecoveryTest$MyProcessor"
/>
- <camelContext id="camelContext" shutdownEager="false"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
shutdownEager="false" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute">
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=2&durableJob=true&stateful=true&recoverableJob=true"
/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppTwo.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppTwo.xml
index f7cfd15..c19d08c 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppTwo.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzConsumerRecoveryClusteredAppTwo.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -43,23 +43,23 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext2"/>
+ <entry
key="CamelQuartzCamelContext-camelContext-{{testClassSimpleName}}"
value-ref="camelContext2-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-two</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
- <camelContext id="camelContext2" shutdownEager="true"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext2-{{testClassSimpleName}}"
shutdownEager="true" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute">
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=2&durableJob=true&stateful=true&recoverableJob=true"
/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml
index 22c7a1d..fd9b5d4 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest1.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,12 +45,12 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -61,7 +61,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring">
<route id="quartzRoute">
<from uri="quartzBean://app/test?cron=0+0/1+*+1/1+*+?+*"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml
index f4bc022..d66ef12 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,12 +45,12 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext1"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext1"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -61,7 +61,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#1"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#1" xmlns="http://camel.apache.org/schema/spring">
<route id="quartzRoute">
<from uri="quartzBean://app/test?cron=0+0/2+*+1/1+*+?+*"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml
index c39ece0..1cc9832 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -50,7 +50,7 @@
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml
index aabba79..7cc9906 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest1.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,12 +45,12 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -61,7 +61,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring">
<route id="quartzRoute">
<from
uri="quartzBean://app/test?trigger.repeatInterval=10&trigger.repeatCount=1"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml
index 8158f49..2a9e796 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest2.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzConsumerClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url" value="jdbc:derby:memory:{{testClassSimpleName}}" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -45,12 +45,12 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -61,7 +61,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring">
<route id="quartzRoute">
<from
uri="quartzBean://app/test?trigger.repeatInterval=20&trigger.repeatCount=2"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
index c2bddae..88c5d43 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml
@@ -27,7 +27,7 @@
">
<!-- the persistent store for quartz -->
- <jdbc:embedded-database id="camel_quartz" type="DERBY">
+ <jdbc:embedded-database id="{{testClassSimpleName}}" type="DERBY">
<!-- do not load script as database alreaady exists -->
</jdbc:embedded-database>
@@ -37,18 +37,18 @@
<!-- jdbc:embedded-database must come before this so the job store exists -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="dataSource" ref="camel_quartz"/>
+ <property name="dataSource" ref="{{testClassSimpleName}}"/>
<property name="autoStartup" value="false"/>
<!-- let Camel start -->
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -58,7 +58,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring">
<route>
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=-1&stateful=true"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
index 16c1a7a..ba72230 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml
@@ -27,7 +27,7 @@
">
<!-- the persistent store for quartz -->
- <jdbc:embedded-database id="camel_quartz" type="DERBY">
+ <jdbc:embedded-database id="{{testClassSimpleName}}" type="DERBY">
<jdbc:script location="classpath:tables_derby.sql"/>
</jdbc:embedded-database>
@@ -37,18 +37,18 @@
<!-- jdbc:embedded-database must come before this so the job store exists -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="dataSource" ref="camel_quartz"/>
+ <property name="dataSource" ref="{{testClassSimpleName}}"/>
<property name="autoStartup" value="false"/>
<!-- let Camel start -->
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext-camelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
@@ -58,7 +58,7 @@
</property>
</bean>
- <camelContext id="camelContext" managementNamePattern="#name#"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring">
<route id="myRoute">
<from
uri="quartz://app/test?trigger.repeatInterval=1000&trigger.repeatCount=-1&stateful=true"/>
<to uri="log:trigger"/>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppDatabase.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppDatabase.xml
index 8b967e5..34c22f1 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppDatabase.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppDatabase.xml
@@ -25,7 +25,7 @@
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc.xsd">
<!-- the embedded persistent storage for quartz -->
- <jdbc:embedded-database id="quartz-db" type="DERBY">
+ <jdbc:embedded-database id="SpringQuartzTwoAppsClusteredFailoverTest"
type="DERBY">
<jdbc:script location="classpath:tables_derby.sql"/>
</jdbc:embedded-database>
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppOne.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppOne.xml
index 4391af6..cf595e5 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppOne.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppOne.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url"
value="jdbc:derby:memory:SpringQuartzTwoAppsClusteredFailoverTest" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -43,18 +43,18 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext" value-ref="camelContext"/>
+ <entry key="CamelQuartzCamelContext"
value-ref="camelContext-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-one</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
@@ -63,7 +63,7 @@
<property name="routeStartTime" value="0/3 * * * * ?" />
</bean>
- <camelContext id="camelContext" shutdownEager="false"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext-{{testClassSimpleName}}"
shutdownEager="false" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute" routePolicyRef="startPolicy" autoStartup="false">
<from uri="direct:start" />
diff --git
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppTwo.xml
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppTwo.xml
index 7211636..0e5a0e7 100644
---
a/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppTwo.xml
+++
b/components/camel-quartz/src/test/resources/org/apache/camel/routepolicy/quartz/SpringQuartzClusteredAppTwo.xml
@@ -28,7 +28,7 @@
<bean id="quartzDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName"
value="org.apache.derby.jdbc.EmbeddedDriver" />
<!-- refer the embedded database we setup inside
SpringQuartzClusteredAppDatabase.xml -->
- <property name="url" value="jdbc:derby:memory:quartz-db" />
+ <property name="url"
value="jdbc:derby:memory:SpringQuartzTwoAppsClusteredFailoverTest" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
@@ -43,18 +43,18 @@
<property name="schedulerContextAsMap">
<!-- hook Camel into Quartz -->
<map>
- <entry key="CamelQuartzCamelContext" value-ref="camelContext2"/>
+ <entry key="CamelQuartzCamelContext"
value-ref="camelContext2-{{testClassSimpleName}}"/>
</map>
</property>
<property name="quartzProperties">
<props>
- <prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
+ <prop
key="org.quartz.scheduler.instanceName">myscheduler-{{testClassSimpleName}}</prop>
<prop key="org.quartz.scheduler.instanceId">app-two</prop>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.terracotta.quartz.skipUpdateCheck">true</prop>
<prop
key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
- <prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
+ <prop key="org.quartz.jobStore.clusterCheckinInterval">500</prop>
</props>
</property>
</bean>
@@ -63,7 +63,7 @@
<property name="routeStartTime" value="0/3 * * * * ?" />
</bean>
- <camelContext id="camelContext2" shutdownEager="false"
xmlns="http://camel.apache.org/schema/spring">
+ <camelContext id="camelContext2-{{testClassSimpleName}}"
shutdownEager="false" xmlns="http://camel.apache.org/schema/spring">
<template id="template" />
<route id="myRoute" routePolicyRef="startPolicy" autoStartup="false">
<from uri="direct:start" />
diff --git
a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
index f1e10e64..b8e61c8 100644
---
a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
+++
b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
@@ -16,11 +16,21 @@
*/
package org.apache.camel.test.spring.junit5;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import org.apache.camel.CamelContext;
+import org.apache.camel.component.properties.DefaultPropertiesParser;
+import org.apache.camel.component.properties.PropertiesParser;
import org.apache.camel.spring.SpringCamelContext;
import org.apache.camel.test.ExcludingPackageScanClassResolver;
import org.apache.camel.test.junit5.CamelTestSupport;
@@ -29,10 +39,15 @@ import org.apache.camel.util.ObjectHelper;
import org.junit.jupiter.api.AfterEach;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeansException;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.AbstractResource;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
@@ -218,4 +233,68 @@ public abstract class CamelSpringTestSupport extends
CamelTestSupport {
// don't start the springCamelContext if we
return SpringCamelContext.springCamelContext(applicationContext,
false);
}
+
+ public static final String TEST_CLASS_NAME_PROPERTY = "testClassName";
+ public static final String TEST_CLASS_SIMPLE_NAME_PROPERTY =
"testClassSimpleName";
+
+ public AbstractXmlApplicationContext newAppContext(String configLocation)
throws BeansException {
+ return newAppContext(configLocation, getClass());
+ }
+
+ public static AbstractXmlApplicationContext newAppContext(String
configLocation, Class<?> clazz) {
+ Map<String, String> props = new HashMap<>();
+ props.put(TEST_CLASS_NAME_PROPERTY, clazz.getName());
+ props.put(TEST_CLASS_SIMPLE_NAME_PROPERTY, clazz.getSimpleName());
+ return new MyXmlApplicationContext(configLocation, clazz, props);
+
+ }
+
+ public static class MyXmlApplicationContext extends
AbstractXmlApplicationContext {
+ private final Resource[] configResources;
+
+ public MyXmlApplicationContext(String configLocation, Class<?> clazz,
Map<String, String> properties) {
+ super(null);
+ configResources = new Resource[] {
+ new TranslatedResource(new
ClassPathResource(configLocation, clazz), properties)
+ };
+ refresh();
+ }
+
+ @Override
+ protected Resource[] getConfigResources() {
+ return configResources;
+ }
+ }
+
+ public static class TranslatedResource extends AbstractResource {
+
+ private final Resource delegate;
+ private final Map<String, String> properties;
+
+ public TranslatedResource(Resource delegate, Map<String, String>
properties) {
+ this.delegate = delegate;
+ this.properties = properties;
+ }
+
+ @Override
+ public String getDescription() {
+ return delegate.getDescription();
+ }
+
+ @Override
+ public InputStream getInputStream() throws IOException {
+ StringWriter sw = new StringWriter();
+ try (InputStreamReader r = new
InputStreamReader(delegate.getInputStream(), StandardCharsets.UTF_8)) {
+ char[] buf = new char[32768];
+ int l;
+ while ((l = r.read(buf)) > 0) {
+ sw.write(buf, 0, l);
+ }
+ }
+ PropertiesParser parser = new DefaultPropertiesParser();
+ String before = sw.toString();
+ String after = parser.parseUri(before, properties::get, false,
true);
+ return new
ByteArrayInputStream(after.getBytes(StandardCharsets.UTF_8));
+ }
+ }
}
diff --git a/parent/pom.xml b/parent/pom.xml
index cef6a26..85c8ebf 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml