in core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/cluster/ClusteredRouteControllerAutoConfiguration.java [58:99]
public RouteController routeController(ClusteredRouteControllerConfiguration configuration) {
ClusteredRouteController controller = new ClusteredRouteController();
controller.setNamespace(configuration.getNamespace());
Optional.ofNullable(configuration.getInitialDelay())
.map(TimePatternConverter::toMilliSeconds)
.map(Duration::ofMillis)
.ifPresent(controller::setInitialDelay);
controller.setFilters(filters);
controller.addFilter(new ClusteredRouteFilters.IsAutoStartup());
if (ObjectHelper.isNotEmpty(configuration.getClusterService())) {
controller.setClusterService(configuration.getClusterService());
}
for (Map.Entry<String, ClusteredRouteControllerConfiguration.RouteConfiguration> entry: configuration.getRoutes().entrySet()) {
final String routeId = entry.getKey();
final ClusteredRouteControllerConfiguration.RouteConfiguration conf = entry.getValue();
if (conf.isClustered()) {
ClusteredRouteConfiguration routeConfiguration = new ClusteredRouteConfiguration();
routeConfiguration.setNamespace(
Optional.ofNullable(conf.getNamespace())
.orElseGet(controller::getNamespace)
);
routeConfiguration.setInitialDelay(
Optional.ofNullable(conf.getInitialDelay())
.map(TimePatternConverter::toMilliSeconds)
.map(Duration::ofMillis)
.orElseGet(controller::getInitialDelay)
);
controller.addRouteConfiguration(routeId, routeConfiguration);
} else {
controller.addFilter(new ClusteredRouteFilters.BlackList(routeId));
}
}
return controller;
}