2017-03-06 99 views
0

我有一個簡單的mule配置,它接受HTTP查詢參數,構建一個URL &從URL下載一個文件。它沒有什麼太多&不使用任何種類的文件(或FTP/SFTP)協議。我需要考慮什麼樣的異常處理機制?Mule:文件傳輸中的異常處理Mule流程

這裏的代碼片段:

<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

什麼樣的異常處理機制我需要考慮的 這個?

我會使用選擇異常策略來捕獲至少與文件權限,磁盤空間和已有文件相關的異常。

關於處理這部分代碼的優雅方式的任何建議?

我可能會刪除變量聲明,如果你不打算重新使用它們,只需將值直接放在請求生成器中。您也可以使用調用範圍將它們合併到一個「消息屬性」轉換器中。

0

什麼樣的異常處理機制我需要考慮的 這個?

如果您發送請求的服務關閉或無法正確接收您的請求,您可以有一個Rollback Exception Strategy