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 2022/10/28 08:09:15 UTC

[camel] branch main updated: CAMEL-18614: camel-core - Updating route configuration via routes loader

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

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


The following commit(s) were added to refs/heads/main by this push:
     new e44e2f9879e CAMEL-18614: camel-core - Updating route configuration via routes loader
e44e2f9879e is described below

commit e44e2f9879e65b4a1a6b06b57917757ccc718619
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Oct 28 10:09:01 2022 +0200

    CAMEL-18614: camel-core - Updating route configuration via routes loader
---
 .../endpoint/EndpointRouteConfigurationBuilder.java    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java b/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
index 8ea37c53238..0fab0feddb3 100644
--- a/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
+++ b/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.builder.endpoint;
 
+import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.camel.CamelContext;
@@ -79,6 +80,23 @@ public abstract class EndpointRouteConfigurationBuilder extends EndpointRouteBui
         populateRoutesConfiguration();
     }
 
+    @Override
+    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
+        setCamelContext(context);
+        routeConfigurationCollection.setCamelContext(context);
+        if (initializedConfiguration.compareAndSet(false, true)) {
+            configuration();
+        }
+        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
+        if (!list.isEmpty()) {
+            // remove existing before updating
+            for (RouteConfigurationDefinition def : list) {
+                context.getExtension(Model.class).removeRouteConfiguration(def);
+            }
+            populateRoutesConfiguration();
+        }
+    }
+
     protected void populateRoutesConfiguration() throws Exception {
         CamelContext camelContext = getContext();
         if (camelContext == null) {