有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring集成:只从FTP服务器下载新的或更新的文件?

我正在使用Spring Integration编写FTP客户端,以便从远程FTP服务器获取文件。该服务必须下载大文件,因此多次下载同一文件不是最佳选择

以下是我的配置:

@Bean
open fun ftpSessionFactory() = DefaultFtpSessionFactory().apply {
    setHost(env.getProperty(FTP_HOST))
    setPort(env.getProperty(FTP_PORT)!!.toInt())
    setUsername(env.getProperty(FTP_USER))
    setPassword(env.getProperty(FTP_PASSWORD))
}

@Bean
open fun ftpInboundFileSynchronizer() = FtpInboundFileSynchronizer(
    ftpSessionFactory()).apply {
    setDeleteRemoteFiles(false)
    setRemoteDirectory(env.getProperty(FTP_REMOTE_DIRECTORY))
    setFilter(FtpSimplePatternFileListFilter(env.getProperty(FTP_FILTER)))
}

@Bean
@InboundChannelAdapter(channel = "ftpChannel")
open fun ftpMessageSource() = FtpInboundFileSynchronizingMessageSource(
    ftpInboundFileSynchronizer()).apply {
    setLocalDirectory(File(env.getProperty(FTP_LOCAL_DIRECTORY)))
    setAutoCreateLocalDirectory(true)
    setLocalFilter(AcceptOnceFileListFilter<File>())
    maxFetchSize = 1
}

@Bean(name = [(PollerMetadata.DEFAULT_POLLER)])
open fun defaultPoller() = PollerMetadata().apply {
    maxMessagesPerPoll = 1
}

我正在下载所有与FTP_过滤器匹配的文件,还是刚刚更改


共 (1) 个答案