2016-07-13 4 views
0

Ich habe ein paar Apache Camel Routen mit dem Java DSL und Spring erstellt.Adhoc Ausführung von Apache Camel Route

@Bean 
public CamelContext camelContext() throws Exception { 
    CamelContext camelContext = new DefaultCamelContext(); 
    camelContext.addRoutes(route1bean()); 
    ... 
    camelContext.start(); 
    return camelContext; 
} 

Diese Routen verwenden quartz2 Komponente für die Planung und alles funktioniert wie erwartet.

Die Jobs können bei der Ausführung jedoch Fehler enthalten und müssen manuell erneut versucht werden. Ich bin auf der Suche nach einer Möglichkeit, Adhoc manuelle Ausführung der Route mit hawtio oder in Java-Code.

Antwort

1

Ja, verwenden Sie jconsole. Es gibt viele mbeans auf Kamelen ausgesetzt. Sie können sie zum Starten und Stoppen verwenden. Natürlich können Sie das auch mit Hawti tun.

auf Ihrem Kommentar basiert Aktualisiert:

ich, was Sie meinen, Dies ist der Ansatz ich nehmen. Erstellen Sie 3 Routen. 2 Routen mit geringem Gewicht - Route A mit einfacher Datei Vom Endpunkt, Route B mit Cron und Route C mit direkter Route: bla Vom Endpunkt, der die eigentliche Geschäftslogik enthält. Auf diese Weise können Sie Route A wann immer Sie möchten auslösen, Route C ist üblich, unabhängig davon, wann Route B vom Cron ausgelöst wird.

+0

Ich bin mir der "Start" - und "Stop" -Funktionalität bewusst. 'stop' wird die Route aus dem Kontext entfernen und' start' wird die Route mit demselben cron neu registrieren. In diesem Fall möchte ich in der Lage sein, die Route unabhängig vom 'cron' aufzurufen/auszulösen. – n002213f

+0

Ich habe die Antwort aktualisiert, ob sie Ihnen hilft. Viel Glück. – gnanagurus