You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ch...@apache.org on 2016/08/31 17:44:15 UTC
camel git commit: Fix for CAMEL-10279 - Can't use @ImportResource and
configure() in the same SB app.
Repository: camel
Updated Branches:
refs/heads/master 04fa8fe52 -> 9ac4768ee
Fix for CAMEL-10279 - Can't use @ImportResource and configure() in the same SB app.
This assumes there is always a RouteBuilder in a SB app.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9ac4768e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9ac4768e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9ac4768e
Branch: refs/heads/master
Commit: 9ac4768eedacd7ec89cbf7faf80dab35f3154481
Parents: 04fa8fe
Author: Hiram Chirino <hi...@hiramchirino.com>
Authored: Wed Aug 31 11:48:09 2016 -0400
Committer: Hiram Chirino <hi...@hiramchirino.com>
Committed: Wed Aug 31 13:43:58 2016 -0400
----------------------------------------------------------------------
components/camel-spring-boot/pom.xml | 13 +++++++++++++
.../camel/spring/boot/CamelAutoConfiguration.java | 1 +
.../fatjarroutertests/JUnitFatJarRouterTest.java | 13 ++++++++++++-
.../StandaloneFatJarRouterTest.java | 14 +++++++++++++-
.../boot/fatjarroutertests/TestFatJarRouter.java | 2 ++
.../src/test/resources/test-camel-context.xml | 17 +++++++++++++++++
6 files changed, 58 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/pom.xml b/components/camel-spring-boot/pom.xml
index 4ce1580..86097d4 100644
--- a/components/camel-spring-boot/pom.xml
+++ b/components/camel-spring-boot/pom.xml
@@ -106,4 +106,17 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
index d9ed0a0..4ae9308 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
@@ -185,6 +185,7 @@ public class CamelAutoConfiguration {
@Bean
CamelSpringBootApplicationController applicationController(ApplicationContext applicationContext, CamelContext camelContext) {
+ SpringCamelContext.setNoStart(true);
return new CamelSpringBootApplicationController(applicationContext, camelContext);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
index 2c1611c..828bc72 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
@@ -17,7 +17,9 @@
package org.apache.camel.spring.boot.fatjarroutertests;
import java.io.IOException;
+import java.lang.management.ManagementFactory;
import java.net.URL;
+import java.util.Set;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
@@ -28,6 +30,10 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.SocketUtils;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestFatJarRouter.class, properties = "spring.main.sources=org.apache.camel.spring.boot.fatjarroutertests")
public class JUnitFatJarRouterTest extends Assert {
@@ -40,10 +46,15 @@ public class JUnitFatJarRouterTest extends Assert {
}
@Test
- public void shouldStartCamelRoute() throws InterruptedException, IOException {
+ public void shouldStartCamelRoute() throws InterruptedException, IOException, MalformedObjectNameException {
String response = IOUtils.toString(new URL("http://localhost:" + port));
assertEquals("stringBean", response);
+
+ // There should be 3 routes running..
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ Set<ObjectName> objectNames = mbs.queryNames(new ObjectName("org.apache.camel:type=routes,*"), null);
+ assertEquals(3, objectNames.size());
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
index 5c6394d..79f3c9e 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
@@ -17,8 +17,10 @@
package org.apache.camel.spring.boot.fatjarroutertests;
import java.io.IOException;
+import java.lang.management.ManagementFactory;
import java.net.ConnectException;
import java.net.URL;
+import java.util.Set;
import java.util.concurrent.Callable;
import static java.util.concurrent.TimeUnit.MINUTES;
@@ -30,12 +32,17 @@ import org.junit.Assert;
import org.junit.Test;
import org.springframework.util.SocketUtils;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerConnection;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
import static com.jayway.awaitility.Awaitility.await;
public class StandaloneFatJarRouterTest extends Assert {
@Test
- public void shouldStartCamelRoute() throws InterruptedException, IOException {
+ public void shouldStartCamelRoute() throws InterruptedException, IOException, MalformedObjectNameException {
// Given
final int port = SocketUtils.findAvailableTcpPort(20000);
final URL httpEndpoint = new URL("http://localhost:" + port);
@@ -62,6 +69,11 @@ public class StandaloneFatJarRouterTest extends Assert {
// Then
assertEquals("stringBean", response);
+
+ // There should be 3 routes running..
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ Set<ObjectName> objectNames = mbs.queryNames(new ObjectName("org.apache.camel:type=routes,*"), null);
+ assertEquals(3, objectNames.size());
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/TestFatJarRouter.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/TestFatJarRouter.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/TestFatJarRouter.java
index ed44d5c..1609f49 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/TestFatJarRouter.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/TestFatJarRouter.java
@@ -19,8 +19,10 @@ package org.apache.camel.spring.boot.fatjarroutertests;
import org.apache.camel.spring.boot.FatJarRouter;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ImportResource;
@SpringBootApplication
+@ImportResource({"classpath:test-camel-context.xml"})
public class TestFatJarRouter extends FatJarRouter {
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/9ac4768e/components/camel-spring-boot/src/test/resources/test-camel-context.xml
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/resources/test-camel-context.xml b/components/camel-spring-boot/src/test/resources/test-camel-context.xml
new file mode 100644
index 0000000..a21e380
--- /dev/null
+++ b/components/camel-spring-boot/src/test/resources/test-camel-context.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+ <!-- Camel Route -->
+ <camelContext xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="timer://foo?period=1000"/>
+ <setBody><simple>Hello World from camel-contex.xml</simple></setBody>
+ <log message=">>> ${body}"/>
+ </route>
+ </camelContext>
+
+</beans>