[ https://issues.apache.org/jira/browse/CAMEL-18683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Rambichler updated CAMEL-18683: --------------------------------------- Component/s: (was: came-core) camel-main > Priorize RouteTemplate initialization > ------------------------------------- > > Key: CAMEL-18683 > URL: https://issues.apache.org/jira/browse/CAMEL-18683 > Project: Camel > Issue Type: Improvement > Components: camel-main > Reporter: Michael Rambichler > Priority: Minor > > 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)