You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/12/16 09:29:48 UTC
[1/5] camel git commit: camel-spring-boot should skip adding abstract
route classes and the FarJarRouter
Repository: camel
Updated Branches:
refs/heads/camel-2.15.x 02ce9b183 -> 6276e2e5a
refs/heads/camel-2.16.x c471d7b41 -> fd7f890b3
refs/heads/master 91c97237f -> 61aa28c97
camel-spring-boot should skip adding abstract route classes and the FarJarRouter
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b4373686
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b4373686
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b4373686
Branch: refs/heads/master
Commit: b4373686650c4851318b7e3f0d98fbd119e0cba4
Parents: 91c9723
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 09:07:27 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 09:10:18 2015 +0100
----------------------------------------------------------------------
.../apache/camel/spring/boot/RoutesCollector.java | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/b4373686/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
index af2f625..bf15018 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
@@ -17,6 +17,7 @@
package org.apache.camel.spring.boot;
import java.io.FileNotFoundException;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
@@ -66,11 +67,17 @@ public class RoutesCollector implements ApplicationListener<ContextRefreshedEven
if (camelContext.getStatus().isStopped()) {
LOG.debug("Post-processing CamelContext bean: {}", camelContext.getName());
for (RoutesBuilder routesBuilder : applicationContext.getBeansOfType(RoutesBuilder.class).values()) {
- try {
- LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
- camelContext.addRoutes(routesBuilder);
- } catch (Exception e) {
- throw new CamelSpringBootInitializationException(e);
+ // filter out abstract classes
+ boolean abs = Modifier.isAbstract(routesBuilder.getClass().getModifiers());
+ // filter out FatJarRouter which can be in the spring app context
+ boolean farJarRouter = FatJarRouter.class.equals(routesBuilder.getClass());
+ if (!abs && !farJarRouter) {
+ try {
+ LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
+ camelContext.addRoutes(routesBuilder);
+ } catch (Exception e) {
+ throw new CamelSpringBootInitializationException(e);
+ }
}
}
[2/5] camel git commit: CAMEL-9426: rest-api route should only be
added once
Posted by da...@apache.org.
CAMEL-9426: rest-api route should only be added once
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/61aa28c9
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/61aa28c9
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/61aa28c9
Branch: refs/heads/master
Commit: 61aa28c976d024eb5a4c3f760145a8a4565dc5d5
Parents: b437368
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 09:28:13 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 09:28:13 2015 +0100
----------------------------------------------------------------------
.../org/apache/camel/builder/RouteBuilder.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/61aa28c9/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
index 984e7cf..bc5b61f 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -26,6 +26,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.model.FromDefinition;
import org.apache.camel.model.InterceptDefinition;
import org.apache.camel.model.InterceptFromDefinition;
import org.apache.camel.model.InterceptSendToEndpointDefinition;
@@ -446,8 +447,21 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
// convert rests api-doc into routes so they are routes for runtime
for (RestConfiguration config : camelContext.getRestConfigurations()) {
if (config.getApiContextPath() != null) {
- RouteDefinition route = RestDefinition.asRouteApiDefinition(camelContext, config);
- routes.add(route);
+ // avoid adding rest-api multiple times, in case multiple RouteBuilder classes is added
+ // to the CamelContext, as we only want to setup rest-api once
+ // so we check all existing routes if they have rest-api route already added
+ boolean hasRestApi = false;
+ for (RouteDefinition route : camelContext.getRouteDefinitions()) {
+ FromDefinition from = route.getInputs().get(0);
+ if (from.getUri() != null && from.getUri().startsWith("rest-api:")) {
+ hasRestApi = true;
+ }
+ }
+ if (!hasRestApi) {
+ RouteDefinition route = RestDefinition.asRouteApiDefinition(camelContext, config);
+ log.debug("Adding routeId: {} as rest-api route", route.getId());
+ routes.add(route);
+ }
}
}
[3/5] camel git commit: camel-spring-boot should skip adding abstract
route classes and the FarJarRouter
Posted by da...@apache.org.
camel-spring-boot should skip adding abstract route classes and the FarJarRouter
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0d8e71d0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0d8e71d0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0d8e71d0
Branch: refs/heads/camel-2.16.x
Commit: 0d8e71d0908a5bf008e8428eb81ba92a40129a27
Parents: c471d7b
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 09:07:27 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 09:28:45 2015 +0100
----------------------------------------------------------------------
.../apache/camel/spring/boot/RoutesCollector.java | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0d8e71d0/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
index c13e214..1c00ef3 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
@@ -17,6 +17,7 @@
package org.apache.camel.spring.boot;
import java.io.FileNotFoundException;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
@@ -66,11 +67,17 @@ public class RoutesCollector implements ApplicationListener<ContextRefreshedEven
if (camelContext.getStatus().isStopped()) {
LOG.debug("Post-processing CamelContext bean: {}", camelContext.getName());
for (RoutesBuilder routesBuilder : applicationContext.getBeansOfType(RoutesBuilder.class).values()) {
- try {
- LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
- camelContext.addRoutes(routesBuilder);
- } catch (Exception e) {
- throw new CamelSpringBootInitializationException(e);
+ // filter out abstract classes
+ boolean abs = Modifier.isAbstract(routesBuilder.getClass().getModifiers());
+ // filter out FatJarRouter which can be in the spring app context
+ boolean farJarRouter = FatJarRouter.class.equals(routesBuilder.getClass());
+ if (!abs && !farJarRouter) {
+ try {
+ LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
+ camelContext.addRoutes(routesBuilder);
+ } catch (Exception e) {
+ throw new CamelSpringBootInitializationException(e);
+ }
}
}
[5/5] camel git commit: camel-spring-boot should skip adding abstract
route classes and the FarJarRouter
Posted by da...@apache.org.
camel-spring-boot should skip adding abstract route classes and the FarJarRouter
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6276e2e5
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6276e2e5
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6276e2e5
Branch: refs/heads/camel-2.15.x
Commit: 6276e2e5ad93cd3ee9de9d52fdb4df38247c0a8a
Parents: 02ce9b1
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 09:07:27 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 09:29:16 2015 +0100
----------------------------------------------------------------------
.../apache/camel/spring/boot/RoutesCollector.java | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/6276e2e5/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
index 1a4ffda..d034a3e 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
@@ -17,6 +17,7 @@
package org.apache.camel.spring.boot;
import java.io.FileNotFoundException;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
@@ -62,11 +63,17 @@ public class RoutesCollector implements ApplicationListener<ContextRefreshedEven
if (camelContext.getStatus().isStopped()) {
LOG.debug("Post-processing CamelContext bean: {}", camelContext.getName());
for (RoutesBuilder routesBuilder : applicationContext.getBeansOfType(RoutesBuilder.class).values()) {
- try {
- LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
- camelContext.addRoutes(routesBuilder);
- } catch (Exception e) {
- throw new CamelSpringBootInitializationException(e);
+ // filter out abstract classes
+ boolean abs = Modifier.isAbstract(routesBuilder.getClass().getModifiers());
+ // filter out FatJarRouter which can be in the spring app context
+ boolean farJarRouter = FatJarRouter.class.equals(routesBuilder.getClass());
+ if (!abs && !farJarRouter) {
+ try {
+ LOG.debug("Injecting following route into the CamelContext: {}", routesBuilder);
+ camelContext.addRoutes(routesBuilder);
+ } catch (Exception e) {
+ throw new CamelSpringBootInitializationException(e);
+ }
}
}
[4/5] camel git commit: CAMEL-9426: rest-api route should only be
added once
Posted by da...@apache.org.
CAMEL-9426: rest-api route should only be added once
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fd7f890b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fd7f890b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fd7f890b
Branch: refs/heads/camel-2.16.x
Commit: fd7f890b346f001e13321233f2a35b54c9513637
Parents: 0d8e71d
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 16 09:28:13 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 16 09:28:50 2015 +0100
----------------------------------------------------------------------
.../org/apache/camel/builder/RouteBuilder.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/fd7f890b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
index 984e7cf..bc5b61f 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -26,6 +26,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.model.FromDefinition;
import org.apache.camel.model.InterceptDefinition;
import org.apache.camel.model.InterceptFromDefinition;
import org.apache.camel.model.InterceptSendToEndpointDefinition;
@@ -446,8 +447,21 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
// convert rests api-doc into routes so they are routes for runtime
for (RestConfiguration config : camelContext.getRestConfigurations()) {
if (config.getApiContextPath() != null) {
- RouteDefinition route = RestDefinition.asRouteApiDefinition(camelContext, config);
- routes.add(route);
+ // avoid adding rest-api multiple times, in case multiple RouteBuilder classes is added
+ // to the CamelContext, as we only want to setup rest-api once
+ // so we check all existing routes if they have rest-api route already added
+ boolean hasRestApi = false;
+ for (RouteDefinition route : camelContext.getRouteDefinitions()) {
+ FromDefinition from = route.getInputs().get(0);
+ if (from.getUri() != null && from.getUri().startsWith("rest-api:")) {
+ hasRestApi = true;
+ }
+ }
+ if (!hasRestApi) {
+ RouteDefinition route = RestDefinition.asRouteApiDefinition(camelContext, config);
+ log.debug("Adding routeId: {} as rest-api route", route.getId());
+ routes.add(route);
+ }
}
}