繁体   English   中英

重试Spring Integration FTP入站通道适配器

[英]Retry Spring Integration FTP Inbound Channel Adapter

目前,我有一个基本的FTP入站通道适配器,配置了轮询器

<int-ftp:inbound-channel-adapter id="ftpInboundChannelAdapter">
        <int:poller cron="#{fooProperties['foo.ftp.cron']}" max-messages-per-poll="-1" />
</int-ftp:inbound-channel-adapter>

Cron是每天特定时间的一次。

但是,有时,我们连接的FTP服务器会抛出错误,例如

org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received.  Server closed connection.

在这种情况下,我们想“重新轮询”(可配置的时间)。

我读到有关int:request-handler-advice-chain但您似乎不能在FTP适配器的轮询器上使用它。

我正在使用SI 2.2.6,但可以根据需要进行升级

您可以使用自定义Trigger bean而不是cron触发器。

向轮询器添加error-channel以捕获异常,然后在错误通道流上,在触发Bean中设置发生错误的某些状态。

如果未发生错误,请在nextExecutionTime()时返回明天要运行的时间。

如果发生错误,请返回您要重试的时间(并重置错误状态)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM