This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-16757
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/CAMEL-16757 by this push:
     new 29fe119  CAMEL-16757: camel-core - Global error handling, interceptor 
in all DSL
29fe119 is described below

commit 29fe119f018ea39e2bb74094e708a677a9011b5d
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jul 8 13:58:45 2021 +0200

    CAMEL-16757: camel-core - Global error handling, interceptor in all DSL
---
 .../main/java/org/apache/camel/spi/RoutesLoader.java  | 19 +++++++++++++++++--
 .../java/org/apache/camel/main/RoutesConfigurer.java  |  2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/RoutesLoader.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/RoutesLoader.java
index 1c64dff..b75a01e 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/RoutesLoader.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/RoutesLoader.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.Collection;
 
 import org.apache.camel.CamelContextAware;
+import org.apache.camel.RouteConfigurationsBuilder;
 import org.apache.camel.RoutesBuilder;
 
 /**
@@ -39,7 +40,14 @@ public interface RoutesLoader extends CamelContextAware {
      * @param resources the resources to be loaded.
      */
     default void loadRoutes(Collection<Resource> resources) throws Exception {
-        for (RoutesBuilder builder : findRoutesBuilders(resources)) {
+        Collection<RoutesBuilder> builders = findRoutesBuilders(resources);
+        // add configuration first before the routes
+        for (RoutesBuilder builder : builders) {
+            if (builder instanceof RouteConfigurationsBuilder) {
+                
getCamelContext().addRoutesConfigurations((RouteConfigurationsBuilder) builder);
+            }
+        }
+        for (RoutesBuilder builder : builders) {
             getCamelContext().addRoutes(builder);
         }
     }
@@ -51,7 +59,14 @@ public interface RoutesLoader extends CamelContextAware {
      * @param resources the resources to be loaded.
      */
     default void loadRoutes(Resource... resources) throws Exception {
-        for (RoutesBuilder builder : findRoutesBuilders(resources)) {
+        Collection<RoutesBuilder> builders = findRoutesBuilders(resources);
+        // add configuration first before the routes
+        for (RoutesBuilder builder : builders) {
+            if (builder instanceof RouteConfigurationsBuilder) {
+                
getCamelContext().addRoutesConfigurations((RouteConfigurationsBuilder) builder);
+            }
+        }
+        for (RoutesBuilder builder : builders) {
             getCamelContext().addRoutes(builder);
         }
     }
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java 
b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
index 5c07af9..bde6e02 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
@@ -210,7 +210,7 @@ public class RoutesConfigurer {
         for (RoutesBuilder builder : routes) {
             if (builder instanceof RouteConfigurationsBuilder) {
                 RouteConfigurationsBuilder rcb = (RouteConfigurationsBuilder) 
builder;
-                LOG.debug("Adding routes configurations into CamelContext from 
RoutesConfigurationsBuilder: {}", rcb);
+                LOG.debug("Adding routes configurations into CamelContext from 
RouteConfigurationsBuilder: {}", rcb);
                 camelContext.addRoutesConfigurations(rcb);
             }
         }

Reply via email to