2017-03-06 11 views
0

私は、HTTPクエリパラメータを取り、URLからファイルをダウンロードします。&は、URLからファイルをダウンロードします。 &は、File(またはFTP/SFTP)プロトコルを一切使用しません。このためにどのような例外処理メカニズムを考える必要がありますか?また、これは私は単に私が受け取るファイルのこの部分を処理するエレガントな方法上の任意の提案をダンプ流れ&の終わりがあるMule:ファイル転送での例外処理Mule flow

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8048" doc:name="HTTP Listener Configuration"/> 
<http:request-config name="HTTP_Request_Configuration" host="${sync.host}" port="${sync.port}" doc:name="HTTP Request Configuration"/> 
<file:connector name="output" doc:name="File"/> 


<flow name="syncFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/og" allowedMethods="GET" doc:name="HTTP"/> 
    <set-variable variableName="year" value="#[message.inboundProperties.'http.query.params'.year]" doc:name="Variable"/>  
    <set-variable variableName="month" value="#[message.inboundProperties.'http.query.params'.month]" doc:name="Variable"/> 
    <http:request config-ref="HTTP_Request_Configuration" path= "/year/{year}/month/{month}/monthly.csv" method="GET" doc:name="HTTP"> 
     <http:request-builder> 
      <http:uri-param paramName="year" value="#[flowVars.year]"/> 
      <http:uri-param paramName="month" value="#[flowVars.month]"/> 
     </http:request-builder> 
    </http:request> 

:ここ

は、コードのスニペットですコード?

答えて

0

については、どのような例外処理メカニズムについて考える必要がありますか?

少なくとも、ファイルのアクセス許可、ディスクスペース、および既存のファイルに関連する例外をキャッチするために、選択の例外戦略を使用します。

コードのこの部分を処理する上でのアドバイスはありますか?

変数宣言を再利用するつもりがなく、その値をリクエストビルダに直接入れることができない場合はおそらく削除します。呼び出しスコープを使用して、それらを1つの "Message Properties"トランスフォーマーに折り畳むこともできます。

0

については、どのような例外処理メカニズムについて考える必要がありますか?

リクエストを送信しているサービスがダウンしているか、リクエストを適切に受信できない場合に備えて、Rollback Exception Strategyを持つことができます。

関連する問題