Apache Camel ftp使用者一次又一次加载相同的文件
|
我有以下弹簧配置
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<beans xmlns=\"http://www.springframework.org/schema/beans\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd\">
<bean id=\"downloadLogger\" class=\"com.thomsonreuters.oa.sdi.camel.DownloadLogger\" />
<bean id=\"fileFilter\" class=\"com.thomsonreuters.oa.sdi.camel.IgnoreReadyFilesFilter\" />
<camelContext xmlns=\"http://camel.apache.org/schema/spring\">
<route>
<from uri=\"ftp://url_to_ftp?password=*******&noop=true&stepwise=false&binary=true&consumer.delay=10s&recursive=true&filter=#fileFilter\" />
<process ref=\"downloadLogger\" />
<to uri=\"file:data/outbox\" />
</route>
</camelContext>
</beans>
在ftp端,我有3个文件夹,其中包含要下载的文件。我想实现以下方案:
在ftp上,在第一个数据提取用户处,固定数量的文件(对于第5项)是使用者将这些文件加载到目标文件夹
在第二次尝试加载文件时,ftp状态仍然相同(5个文件),而骆驼ftp使用者只是不执行任何操作(检查新文件除外)
到ftp到达新的2个文件,并且在此数据提取用户仅下载这两个新文件
当前我当前的解决方案每次运行数据加载过程时都会下载所有文件,如何管理有关已下载文件的信息以防止重复文件的下载(我的意思是已经从ftp复制的文件),我可以编写自己的过滤器进行过滤已经下载了文件,但是我相信应该有内置功能可以使我对此进行控制(也许是idempotentRepository,实际上我不确定)...
没有找到相关结果
已邀请:
3 个回复
容淑阔九
缕嚏冻
赣借
和一个豆