Ich habe einen Weg, der wie folgt aussieht:Aufruf eines Bash-Skript mit einem Header-Parameter Kamel-exec
from("direct:start") .to("exec:bash?args=testScript.sh")
.log("Process done.");
Diese Strecke läuft gut. Aber jetzt muss ich das Skript mit einem Parameter aufrufen, der ein Austauschkopf ist.
So habe ich versucht:
.to("exec:bash?args=testScript.sh ${header.testHeader}")
Aber anstatt das Skript mit dem tatsächlichen Wert des Headers läuft (eine ganze Zahl), es läuft das Skript mit der Zeichenfolge „$ {header.testHeader}“.
In meinem Skript baue ich ein Verzeichnis. Der Header Wert Im nebenbei macht das Verzeichnis wie folgt aussehen:
testDirectory/${header.testHeader}
Statt:
testDirectory/882
ich den Header-Wert kennen richtig eingestellt ist, weil, wenn ich tun:
.log("${header.testHeader}")
Ich bekomme den Wert des Headers, den ich erwarte (zB882).
Kann jemand exec mit einem Shell-Skript aufrufen und den tatsächlichen Header-Wert verwenden?
Danke
Vielen Dank! Das wusste ich nicht über .to. Ich benutze Camel 2.15.5 (für den Fall, dass jemand anderes darauf stößt), und die zweite Lösung, die recipientList() verwendet, einfach ... funktioniert wie ein Zauber. – JustBlossom