Mule 4 sftp 读取文件 - 重新连接策略不起作用

Mule 4 sftp read file - reconnection strategy not working

正在尝试从 SFTP 位置读取文件。 我正在使用 Mule 4.4 社区版。 如果连接到 SFTP 服务器时出现任何错误或文件不存在,希望 mule 重试 2 次。

所以我在 sftp 连接器中配置:'Reconnection strategy' 为 'Standard'

但是日志没有显示任何重试发生。 注意 - 理想情况下,这将在预定时间(调度程序)启动,但出于测试目的,我使用 HTTP 侦听器来调用流程

这是代码:

<sftp:config name="SFTP_Config" doc:name="SFTP Config">
        <sftp:connection host="abcd" username="xyz" password="pwd" />
    </sftp:config>

<flow name="get:employee">
        <logger level="INFO" doc:name="Logger"  message="starting search" category="get-employee"/>
        
                <sftp:read doc:name="Read"  config-ref="SFTP_Config" path="/a/employees.unl">
            <repeatable-in-memory-stream />
            <reconnect />
        </sftp:read>
        <error-handler ></error-handler>    
</flow>

想知道我是否做错了什么?我希望在出错之前尝试两次流程或至少读取文件。

目前,当文件不存在于 sftp 位置时,它只会抛出一个错误:

Message : Path '/a/employees.unl' doesn't exist

Error type : SFTP:ILLEGAL_PATH

重连策略什么时候生效? 谢谢

重新连接策略是针对连接的,而不是针对失败的操作。在您的示例中,连接工作正常。操作失败,因为目录不存在。

对于操作,您应该将操作放在 <until-successful> 范围内。您可以使用 maxRetries 属性指定重试次数。

文档:https://docs.mulesoft.com/mule-runtime/4.4/until-successful-scope