I Route A habe, die Route B ruft:Camel: getting endpointURI einer verschachtelten Route
from("direct:a")
.to("direct:b");
from("direct:b")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception
{
System.out.println("Route B URI: " + exchange.getUnitOfWork().getRouteContext().getFrom().getEndpointUri()); //oops, prints direct:a
}
});
Ich würde die verschachtelte Route B wie seine eigene URI auszudrucken, nicht den URI der kapsel Route A. Wie könnte ich es tun?
Wenn ich weiß, welchen Weg ich bin (durch einen gewisse 'routeId' Angabe), dann könnte ich voran gehen und Hardcode die EndpointUri. Die Frage ist für Prozessoren gedacht, die nicht wissen, in welchen Routen sie verwendet werden können. Ich versuche, die EndpointUri-Daten vom Exchange (wahrscheinlich) zu bekommen. – rapt
Entschuldigung, Ihre Frage bezog sich nicht auf einen Prozessor, der irgendwo anders verwendet werden könnte. Auch was ist der Zweck eines Prozessors, der so "routenabhängig" sein muss, ohne die Route implizit zu deklarieren? Mit mehr Informationen können wir eine bessere Antwort haben. –