2017-03-28 9 views
0

ファイルをWebサービスに送信するCamelルートを作成する必要があります。エンドポイントにファイルを送信する前に、いくつかの情報をデータベースに照会し、追加情報とともにエンドポイントにファイルを送信する必要があります。また、ルート全体が完了したら、ファイルを別のディレクトリに移動する必要があります。私はルートの個々の部分を個別に作成することができました。私はこれをどのように1つの経路で行うことができるかを知りたかったのです。中間処理のCamelルート

答えて

0

これを行う方法は設計上の決定です。 個々の部分をサブルートとして使用することができます(これが私の好ましい方法です)。

ルートをより機能的に構造化し、少なくともより読みやすくします。 その後、multicastコンポーネントを使用してメッセージ(ファイル)を次々に、または並行して渡すことができます。

<route id="main-route"> 
    <from uri="..." /> 
    <!-- DB processing --> 
    <to uri="direct:db-route-endpoint"/> 
    <multicast parallelProcessing="false"> 
    <!-- No parallel processing: file will be stored after Web Service call completed 
     or for parallel parallelProcessing="true" -->" 
     <to uri="...web service endpoint... "/> 
     <to uri="direct:store-file-endpoint"/> 
    </multicast> 
</route> 

<route id="db-route"> 
    <from uri="direct:db-route-endpoint" /> 
    ... DB processing ... 
</route> 

<route id="store-file-route"> 
    <from uri="direct:store-file-endpoint" /> 
    ... save file to another directory ... 
</route> 

XMLのDSLで、それは次のようになります