【发布时间】:2020-03-20 20:00:27
【问题描述】:
在 sftp 上,我有几个具有以下 xyz 名称的文件:
40_20200313_0cd6963f-bf5b-4eb0-b310-255a23ed778e_p.dat
123_20200313_0cd6963f-bf5b-4eb0-b310-255a23ed778e_p.dat
etc.
我希望骆驼一次下载所有文件,因为目前它正在一个一个下载文件。
以下是骆驼路线和查询:
private static String regex() {
return "(22|23|24|25|26|28|29|32|35|40|41|46|52|70|85|88|123)_(?:.*)_p.dat";
}
private static String sftpComponent() {
return "sftp://transit.ergogroup.no/Eyeshare/From_Eyeshare_Test"
+ "?username=Eyeshare_test"
+ "&password=epw3ePOugG" // Stored on wildfly server
+ "&download=true" //Shall be read chunk by chunk to avoid heap space issues. Earlier download=true was used: Harpreet
+ "&useList=true"
+ "&stepwise=false"
+ "&disconnect=true"
+ "&passiveMode=true"
+ "&reconnectDelay=10000"
// + "&bridgeErrorHandler=true"
+ "&delay=300000"
//+ "&fileName=" + sftpFileName
// + "&include=kiki\\.txt"
// + "&include=40_*_p\\.dat"sss
+ "&include="+regex()
+ "&preMove=$simple{file:onlyname}.$simple{date:now:yyyy-MM-dd'T'hh-mm-ss}.processing"
+ "&move=$simple{file:onlyname.noext}.$simple{date:now:yyyy-MM-dd'T'hh-mm-ss}.success"
+ "&moveFailed=$simple{file:onlyname.noext}.$simple{date:now:yyyy-MM-dd'T'hh-mm-ss}.failed";
// + "&idempotentRepository=#infinispan"
// + "&readLockRemoveOnCommit=true";
}
from(sftpComponent()).log("CHU").to(archiveReceivedFile())
代码看起来很好,但输出却不是。任何人都好心建议
【问题讨论】:
-
为什么你问了很多问题却忽略了答案?如果其他人遇到同样的问题并找到您的问题怎么办?
-
@c0ld:不是这样的。你可以从一开始就检查我的整个历史。我正在接受答案,尝试一些事情,有些事情被搁置了,也正在给出我的答案。我怎样才能接受不必要的答案并混淆他人?请求您完全感谢
-
我打开你的个人资料,最后 10 个问题是白色的 =) 是的,其中一些没有答案,但可以帮助 cmets。好的,这是你的决定。让我们回到问题。考虑到名称 archiveReceivedFile() 您想从已使用的一批文件中创建存档吗?只需要了解更多关于案例的信息,因为同时消耗未知数量的文件并不是一个好主意。
-
@c0ld:你的理解是正确的。好的,那我要一个一个来吃?
标签: java apache-camel camel-ftp