Apache Camel: Как создать параллельные маршруты SFTP для чтения 17 файлов и архивирования на другие SFTP? - PullRequest
0 голосов
/ 17 марта 2020

Я хочу прочитать следующие файлы из того же местоположения SFTP:

85_*_p.dat
88_*_p.dat
32_*_p.dat
40_*_p.dat
41_*_p.dat
70_*_p.dat
22_*_p.dat
23_*_p.dat
46_*_p.dat
24_*_p.dat
25_*_p.dat
26_*_p.dat
52_*_p.dat
123_*_p.dat
28_*_p.dat
29_*_p.dat
35_*_p.dat

и заархивировать его в то же местоположение sftp (/ home / eshare / new / in) с именем

85_REPLACE_P.dat
88_REPLACE_P.dat
32_REPLACE_P.dat
40_REPLACE_P.dat
41_REPLACE_P.dat
70_REPLACE_P.dat
22_REPLACE_P.dat
23_REPLACE_P.dat
46_REPLACE_P.dat
24_REPLACE_P.dat
25_REPLACE_P.dat
26_REPLACE_P.dat
52_REPLACE_P.dat
123_REPLACE_P.dat
28_REPLACE_P.dat
29_REPLACE_P.dat
35_REPLACE_P.dat

Как добиться того же в Apache Верблюд, как я получил следующий код

private String sftpComponent(String sftpFileName) {
    return "{{masterdata.hrm.protocol}}://{{masterdata.hrm.hostname}}{{masterdata.employee-import.directory}}"
            + "?username={{masterdata.hrm.username}}"
            + "&password={{masterdata.hrm.password}}" // 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"
            //+ "&fileName=" + sftpFileName
            + "&include="+ sftpFileName
            + "&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"
            + "&readLock=idempotent-changed"
            + "&idempotentRepository=#infinispan"
            + "&readLockRemoveOnCommit=true";
}
...