Apache Kamelbedingte Routing
-
12-12-2019 - |
Frage
Ich habe einen Service, der zwei Operationen hat.
generasacodicetagpre.Ich habe einen Kamelablauf:
generasacodicetagpre.in meiner Prozessorbohne, wenn ich angibt:
generasacodicetagpre.Ich erhalte das Register-Benutzerobjekt.Alles funktioniert gut. Das Problem ist, dass ich möchte, dass Kamel meine Anfrage bedingt, für z. B.:
Wenn der Service-Betrieb generakodicetagcode ist, möchte ich die Nachricht an meine spezifische Bean leiten, und wenn der Service-Betrieb generakodicetagcode ist, möchte ich die Nachricht an die andere Bohne weiterleiten.
Ich habe versucht, Camel XPath zu verwenden, aber es scheint nicht zu arbeiten.
generasacodicetagpre.Ich habe gesucht, wie Camel eingerichtet wurde, um zu den verschiedenen Zielen zu gelangen, aber nichts gefunden hatte.Vielleicht weiß jemand, wo könnte das Problem sein?
Lösung
Die Informationen der benötigten Vorgänge befinden sich in der Header der Nachricht.
Der Header, nach dem Sie suchen, wird als "OperationName" angezeigt
also hier ist ein Beispiel:
generasacodicetagpre.(Hinweis Das Beispiel verwendet Apache-Widder-Blueprint - aber es ist identisch für den Feder, anderer als der Namespace)
Andere Tipps
Versuchen Sie es mit camel-einfache -Ausdrücke anstelle von XPath dafür ...
generasacodicetagpre.Spring XML-Route In meinem Fall verwende ich ein Inbound-Jetty-EP. Ich überprüfe Parametr auf Anfrage. Involine URL http:// localhost: 8080 / srv? Alg= 1
generasacodicetagpre.