95.5. ストリームベースのメッセージボディー
メッセージボディーがストリームベースの場合、受信した入力はストリームとして Camel に送信されます。つまり、ストリームのコンテンツを 一度 だけ読み取ることができます。そのため、XPath を Message Filter またはコンテンツベースのルーターとして使用する場合に、データに複数回アクセスする必要があることが頻繁にあります。そのため、ストリームキャッシングを使用するか、メッセージボディーを安全に複数回再読み取りできる String
に変換する必要があります。
from("queue:foo"). filter().xpath("//foo")). to("queue:bar")
from("queue:foo").
filter().xpath("//foo")).
to("queue:bar")
from("queue:foo"). choice().xpath("//foo")).to("queue:bar"). otherwise().to("queue:others");
from("queue:foo").
choice().xpath("//foo")).to("queue:bar").
otherwise().to("queue:others");