JPAでキャメル2.10を使用しています。私のコンテキストには2つのルートがあります。ルート 1 は JPA エンドポイント (db テーブル) から消費し、(Bean で) いくつかの処理を行い、メッセージをルート 2 に転送します。処理中に何か問題が発生した場合、Bean は NULL を返します。
ルート 2 で最初にやりたいことは、(ルート 1 から転送された) 本文が NULL でないかどうかを確認することです。したがって、2 つの可能性が考えられます。1) ルート 2 で検証を使用する
<route id="route2">
...
<validate>
<simple>${body} != null</simple>
</validate>
2)interceptSendToEndpoint を使用して、NULL メッセージがルート 2 att all に送信されるのを回避します。
<interceptSendToEndpoint uri="toRoute2" skipSendToOriginalEndpoint="true">
<when><simple>${body} == null</simple></when>
<transform>
<constant>Error Message</constant>
</transform>
<to uri="direct:logError"/>
</interceptSendToEndpoint>
より良い方法は何だと思いますか?
あなたの提案をありがとう!
BR マティアス