我有一个简单的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;我只是简单地转储我收到的文件,关于处理这部分代码的优雅方法的任何建议?
答案 0 :(得分:0)
我需要考虑什么样的异常处理机制 此?
我会使用选择异常策略来至少捕获与文件权限,磁盘空间和现有文件相关的异常。
有关处理这部分代码的优雅方法的任何建议吗?
如果您不打算重复使用它们,我可能会删除变量声明,只是将值直接放在请求构建器中。您还可以使用调用范围将它们折叠到一个“消息属性”转换器中。
答案 1 :(得分:0)
我需要考虑什么样的异常处理机制 此?
如果您发送请求的服务已关闭或无法正确接收您的请求,您可以拥有Rollback Exception Strategy
。