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);
}
}