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

commit 215659a91edeb1ae6a9d51ddc6c5c5626ae849e6
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Nov 24 11:06:11 2022 +0100

    CAMEL-18733: camel-core - Move the discovery of route policy to when being 
added to the route, as previously if a route policy was added such as from a 
component that are in use in the route, then that would be too late.
---
 .../org/apache/camel/reifier/RouteReifier.java     | 51 +++++++++++-----------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
index 2302fca53c6..e8239ebf32f 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -164,32 +164,6 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
             }
         }
 
-        // configure route policy
-        if (definition.getRoutePolicies() != null && 
!definition.getRoutePolicies().isEmpty()) {
-            for (RoutePolicy policy : definition.getRoutePolicies()) {
-                LOG.debug("RoutePolicy is enabled: {} on route: {}", policy, 
definition.getId());
-                route.getRoutePolicyList().add(policy);
-            }
-        }
-        if (definition.getRoutePolicyRef() != null) {
-            StringTokenizer policyTokens = new 
StringTokenizer(definition.getRoutePolicyRef(), ",");
-            while (policyTokens.hasMoreTokens()) {
-                String ref = policyTokens.nextToken().trim();
-                RoutePolicy policy = mandatoryLookup(ref, RoutePolicy.class);
-                LOG.debug("RoutePolicy is enabled: {} on route: {}", policy, 
definition.getId());
-                route.getRoutePolicyList().add(policy);
-            }
-        }
-        if (camelContext.getRoutePolicyFactories() != null) {
-            for (RoutePolicyFactory factory : 
camelContext.getRoutePolicyFactories()) {
-                RoutePolicy policy = factory.createRoutePolicy(camelContext, 
definition.getId(), definition);
-                if (policy != null) {
-                    LOG.debug("RoutePolicy is enabled: {} on route: {}", 
policy, definition.getId());
-                    route.getRoutePolicyList().add(policy);
-                }
-            }
-        }
-
         // configure auto startup
         Boolean isAutoStartup = parseBoolean(definition.getAutoStartup());
 
@@ -260,6 +234,31 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         InternalProcessor internal = 
camelContext.adapt(ExtendedCamelContext.class).getInternalProcessorFactory()
                 .addUnitOfWorkProcessorAdvice(camelContext, target, route);
 
+        // configure route policy
+        if (definition.getRoutePolicies() != null && 
!definition.getRoutePolicies().isEmpty()) {
+            for (RoutePolicy policy : definition.getRoutePolicies()) {
+                LOG.debug("RoutePolicy is enabled: {} on route: {}", policy, 
definition.getId());
+                route.getRoutePolicyList().add(policy);
+            }
+        }
+        if (definition.getRoutePolicyRef() != null) {
+            StringTokenizer policyTokens = new 
StringTokenizer(definition.getRoutePolicyRef(), ",");
+            while (policyTokens.hasMoreTokens()) {
+                String ref = policyTokens.nextToken().trim();
+                RoutePolicy policy = mandatoryLookup(ref, RoutePolicy.class);
+                LOG.debug("RoutePolicy is enabled: {} on route: {}", policy, 
definition.getId());
+                route.getRoutePolicyList().add(policy);
+            }
+        }
+        if (camelContext.getRoutePolicyFactories() != null) {
+            for (RoutePolicyFactory factory : 
camelContext.getRoutePolicyFactories()) {
+                RoutePolicy policy = factory.createRoutePolicy(camelContext, 
definition.getId(), definition);
+                if (policy != null) {
+                    LOG.debug("RoutePolicy is enabled: {} on route: {}", 
policy, definition.getId());
+                    route.getRoutePolicyList().add(policy);
+                }
+            }
+        }
         // and then optionally add route policy processor if a custom policy 
is set
         List<RoutePolicy> routePolicyList = route.getRoutePolicyList();
         if (routePolicyList != null && !routePolicyList.isEmpty()) {

Reply via email to