int ftp:入站通道适配器正在检索旧文件



我们面临着一个非常奇怪的问题。

我们已经在xml中配置了ftp入站通道适配器。它使用DefaultFtpSessionFactory、FtpPersistentCeptOnceFileListFilter和PropertiesPersistingMetadataStore。MetadataStore配置在另一个xml文件中。

现在,我们按照配置每周获取一次文件。突然,它开始获取9-10个月大的文件。4-5周后,它重新开始从原来的位置获取新文件。然后是旧文件,再回到新文件。这种反复已经持续了一段时间,而且总是连续不断。

此外,元数据文件已经有一段时间没有更新了。

远程文件不会被删除,但本地文件在处理后会移动到存档中。

你能说明一下可能性吗?

编辑经过进一步调查,poller似乎也有问题。int:poller每周五晚上11点有cron。

文件不会在每次轮询时传输到本地目录,而是在几个月内批量传输一次。

Poller在每周五按预期挑选一个文件,并将其传递给springJobLauncher。

预期的行为是,每周五,1个文件将被传输到本地目录,然后由JobLauncher处理。这个文件是在一大早就写在远程服务器上的。

默认情况下,PropertiesPersistingMetadataStore仅在正常应用程序关闭时刷新到磁盘。

请参阅过滤器上的setFlushOnUpdate()

/**
* Determine whether the metadataStore should be flushed on each update (if {@link Flushable}).
* @param flushOnUpdate true to flush.
* @since 4.1.5
*/
public void setFlushOnUpdate(boolean flushOnUpdate) {
this.flushOnUpdate = flushOnUpdate;
}

最新更新