Michael Rambichler created CAMEL-18683: ------------------------------------------
Summary: Priorize RouteTemplate initialization Key: CAMEL-18683 URL: https://issues.apache.org/jira/browse/CAMEL-18683 Project: Camel Issue Type: Improvement Components: came-core Reporter: Michael Rambichler We often struggle the issue of the correct Route naming order dependency: *Improvement:* Priorize RouteBuilder with RouteTemplates *Testcase:* Name your RouteTemplate: ZTemplate and another Routebuilder which will use the defined Template in ZTemplate. The Routebuilder will fail because the ZTemplate Route was not yet added to the routescollections. *Suggestion:* Use a dedicated class e.g. RouteTemplateBuilder to prioritize Routebuilder with templates See: RoutesConfigure.java private void addDiscoveredRoutes(CamelContext camelContext, List<RoutesBuilder> routes) throws Exception { // sort routes according to ordered routes.sort(OrderedComparator.get()); // first add the routes configurations as they are globally for all routes for (RoutesBuilder builder : routes) { if (builder instanceof RouteConfigurationsBuilder) { RouteConfigurationsBuilder rcb = (RouteConfigurationsBuilder) builder; LOG.debug("Adding routes configurations into CamelContext from RouteConfigurationsBuilder: {}", rcb); camelContext.addRoutesConfigurations(rcb); } } {color:#0000ff} // first add the all route templates as they are globally for all routes for (RoutesBuilder builder : routes) { if (builder instanceof RouteTemplateBuilder) { LOG.debug("Adding route tempaltes into CamelContext from RoutesBuilder: {}", builder); camelContext.addRoutes(builder); } }{color} // then add the routes for (RoutesBuilder builder : routes) { LOG.debug("Adding routes into CamelContext from RoutesBuilder: {}", builder); camelContext.addRoutes(builder); } } } -- This message was sent by Atlassian Jira (v8.20.10#820010)