CSV ファイルからいくつかの行を読み取り、それらをビジネス オブジェクトに変換し、これらをバッチに集約し、結果の集約を Bean に渡しPersistenceException
ます。どういうわけかこのように:
from(file:inputdir).split().tokenize("\n").bean(a).aggregate(constant(true), new AbstractListAggregationStrategy(){...}).completionSize(3).bean(b)
私は持っていonException(Exception.class).handled(true).to("file:failuredir").log()
ます。で例外が発生した場合bean(a)
、すべてが期待どおりに処理されます。 の間違った行inputdir/input.csv
が に書き込まれfailuredir/input.csv
ます。失敗した場合bean(b)
、Camel は元のメッセージの再構築に失敗したようです:
message.org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: target/failure/ID-myhostname-34516-1372093690069-0-7
HawtDBAggregationRepository を使用して、AggregationStrategy で例外を切り替えて伝播するなど、これを機能させるためにさまざまな試みを試みましuseOriginalMessage
たonException
が、アイデアがありません。
bean(b)
で見られるのと同じ動作を実現するにはどうすればよいbean(a)
ですか?