2017-02-19 10 views
0

Ich arbeite an einer Protokollierungslösung, bei der Camel-Routen zur Laufzeit mit einem Java-DSL-String definiert werden. Ich frage mich, ob es eine Möglichkeit gibt, einige Fehler wie Komponenten, die nicht in der Route gefunden wurden, programmgesteuert zu überprüfen. Die einzige Option, die ich finden konnte, ist die org.apache.camel.ResolveEndpointFailedException zu fangen und in die Fehlermeldung zu graben. Gibt es eine bessere Möglichkeit, die Route zu validieren?Camel-Route programmgesteuert validieren

Um ein Beispiel zu geben, wäre es gut festzustellen, ob eine Routensyntax völlig falsch ist oder ob nur eine Komponente nicht gefunden wurde, so dass ich eine Nachricht ausgeben kann, z. "Installieren Sie die FTP-Komponente".

Antwort

4

Sie können Fabric8 Camel Maven Plugin (http://fabric8.io/guide/camelMavenPlugin.html) für die Validierung von Camel Endpoints im Quellcode verwenden.

Blick auf diesen Artikel von Claus Ibsen, um mehr Informationen zu erhalten: https://blog.fabric8.io/cheers-fabric8-camel-maven-plugin-to-validate-camel-endpoints-from-source-code-8768aff76b41#.wcji8hfdg

+0

Ja und dass Maven Plugin wird von Camel 2,19 ab aus der Box kommen. Und wenn Sie IDEA-Editor verwenden, gibt es ein Plugin, das Ihren Quellcode während der Eingabe validieren kann: https://github.com/davsclaus/camel-idea-plugin –

+0

Das ist sehr interessant! Danke vielmals ! – Carla

+0

Ich habe eine Anwendung, in der wir Routen zum Kamel-Kontext zur Laufzeit hinzufügen (Route wird basierend auf Konfigurationen erstellt). Können wir dieses Plugin verwenden, um das XML der Route zu validieren, bevor Sie es dem Kontext hinzufügen? (Das Problem, auf das ich stoße, ist: Wenn ein ungültiger XML-Pfad zu einem aktiven Kontext hinzugefügt wird, wird der gesamte Kontext heruntergefahren.) – user1118468