私は現在、次のキャメルルートを持っています:
//Only continue to next route if success
from("file:///tmp/camel/input")
.routeId("Test Route")
.to("file:///tmp/camel/test")
.onCompletion().onCompleteOnly()
.log("Success for file: ${header.CamelFileName}")
.setHeader("recipientList", constant("file:///tmp/camel/output, file:///tmp/camel/output2"))
.recipientList(header("recipientList"))
.end();
前のルートが成功した場合にのみ、受信者にファイルを送信する必要があります。
ただし、ルートを実行しているときに、 onCompletion() ブロックの .to も入力フォルダーから読み取るという結論に達しましたが、ファイルは既になくなっているため、それらを取得して受信者に書き込むことはできません。(受信者にファイルを送信した後にファイルを削除したいので、送信元に noop=true を設定することはできません...)
では、以前のルーティングが成功していることを前提条件として、ファイルを受信者にルーティングするにはどうすればよいでしょうか?