Mule:文件传输中的异常处理Mule流

时间:2017-03-06 22:55:29

标签: mule

我有一个简单的mule配置,它接受HTTP Query参数,构建一个URL&从URL下载文件。它什么都不做&不使用任何类型的文件(或FTP / SFTP)协议。我需要考虑什么样的异常处理机制?

以下是代码片段:

 <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> 

这也是流程的结束&amp;我只是简单地转储我收到的文件,关于处理这部分代码的优雅方法的任何建议?

2 个答案:

答案 0 :(得分:0)

  

我需要考虑什么样的异常处理机制   此?

我会使用选择异常策略来至少捕获与文件权限,磁盘空间和现有文件相关的异常。

  

有关处理这部分代码的优雅方法的任何建议吗?

如果您不打算重复使用它们,我可能会删除变量声明,只是将值直接放在请求构建器中。您还可以使用调用范围将它们折叠到一个“消息属性”转换器中。

答案 1 :(得分:0)

  

我需要考虑什么样的异常处理机制   此?

如果您发送请求的服务已关闭或无法正确接收您的请求,您可以拥有Rollback Exception Strategy