Ich muss bestimmte Routen zu den Kamel Kontext basierend auf einer Bedingung hinzugefügt werden. Versuchte RoutePolicy.onStart -> aber diese Methode wird nach dem Start der Route aufgerufen.deaktivieren Route zu Kamel Kontext basierend auf einer Bedingung hinzugefügt werden
Ich brauche einen Weg, um vollständig zu vermeiden, dass die Route zum Kamel-Kontext erzeugt/hinzugefügt wird.
private List<String> eligibleRoutes;
@Override
public void onStart(Route route) {
LOGGER.info("onInit for {}", route.getId());
if (isCollectionNotEmpty(eligibleRoutes))
{
LOGGER.info("route-start eligibility for route {}", route.getId());
if (eligibleRoutes.contains(route.getId()))
{
LOGGER.info("Route-start is set to ELIGiBLE for {}", route.getId());
}else{
LOGGER.info("Route-start is set to NOT ELIGiBLE for {}", route.getId());
route.getRouteContext().getCamelContext().stopRoute(route.getId());
boolean status = route.getRouteContext().getCamelContext().removeRoute(route.getId());
return;
}
}
Verwenden Sie die Spring-Integration oder erstellen und verwalten Sie den 'CamelContext' selbst? Wie wird die Route zum Kontext in Ihrem Code hinzugefügt? –
Verwenden von Blueprint zum Erstellen von camelContext und Routen. Ich habe mehrere Routen und muss sie nur sichtbar machen, wenn sie infrage kommen. – Venkat
Wie wäre es mit [Content Based Router] (http://camel.apache.org/content-based-router.html)? –