This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit df369b44cccdeb8a79497f07894ae63fe540ecca Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Nov 3 10:04:38 2020 +0100 CAMEL-15795: camel-core - Remove tangle from impl route to route model as its no longer needed after route has been created via reifier. --- core/camel-api/src/main/java/org/apache/camel/Route.java | 11 +++++++++-- .../main/java/org/apache/camel/impl/engine/DefaultRoute.java | 5 +++++ .../src/main/java/org/apache/camel/reifier/RouteReifier.java | 3 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/Route.java b/core/camel-api/src/main/java/org/apache/camel/Route.java index 83a6e7b..b40bbd3 100644 --- a/core/camel-api/src/main/java/org/apache/camel/Route.java +++ b/core/camel-api/src/main/java/org/apache/camel/Route.java @@ -238,12 +238,19 @@ public interface Route extends RuntimeConfiguration { String getRouteDescription(); /** - * Get the route type + * Get the route type. * - * @return the route type + * Important: is null after the route has been created. + * + * @return the route type during creation of the route, is null after the route has been created. */ NamedNode getRoute(); + /** + * Clears the route model when its no longer needed. + */ + void clearRouteModel(); + // // CREATION TIME // diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java index e17a055..9ad83bf 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java @@ -261,6 +261,11 @@ public class DefaultRoute extends ServiceSupport implements Route { } @Override + public void clearRouteModel() { + route = null; + } + + @Override public String getRouteId() { return routeId; } 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 1ac63f5..fb2dbdf 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 @@ -316,6 +316,9 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> { } } + // okay route has been created from the model, then the model is no longer needed and we can de-reference + route.clearRouteModel(); + return route; }