私は以下のようなものを達成したいと思います:
from("direct:dataload")
.beanRef("headerUpdater")
.log("Log: " + simple("${in.header.contentType}").getText())
//.unmarshal().beanio(simple("${in.header.contentType}").getText(), "content")
.unmarshal(new BeanIODataFormat(
"file://C://Users//admr229//Documents//mappings.xml", "clients"))
.to("bean:headerFooterValidator")
.split(body())
.process(dataValidator).choice()
.when(header("error").isNotNull())
.to("seda:saveErrorsForReport").otherwise()
.to("seda:updateLive")
.end();
作成できない行をコメントアウトしました。beanio を初期化するために、前のエンドポイントの出力から動的な値を渡したいと思いました。私が考えることができるのは、事前定義されたエンドポイントを動的に選択する受信者リストを使用することだけです。私の場合、純粋にテキストである「activemq:queue:test」のようなものとは異なり、そのエンドポイントは beanio で非整列化されるためです。私の質問が明確になったことを願っています。さらに詳細が必要な場合はお知らせください。キャメル2.15.2を使用しています