Ich vermisse etwas, aber hier ist was passiert.Camel Poll Enrich scheint ignoriert das Batch Consumer-Verhalten der FTP-Komponente
Dies funktioniert: Ich habe zwei Dateien auf der Todo Ordner. Wenn ich diese Strecke funktioniert alles einwandfrei schaffen, erhielt ich die beiden Börsen, eine für jede Datei, alle 30 Sekunden:
from(String.format(baseFtpConnectionString, "/todo/") + "&scheduler=quartz2&scheduler.cron=0/10+*+*+*+*+?")
.to("log:test?showAll=true&multiline=true")
.unmarshal(bindyRegister)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("Ok");
}
})
.end();
Das Problem: Aber, wenn ich diesen Weg schaffen, ein Austausch empfangen wird alle 30 Sekunden, zwischen den beiden Dateien wechseln.
from("quartz2://getData?cron=0/10+*+*+*+*+?")
.pollEnrich(String.format(baseFtpConnectionString, "/todo/"))
.to("log:test?showAll=true&multiline=true")
.unmarshal(bindyRegister)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("Ok");
}
})
.end();
Die FTP-URL in der baseFtpConnectionString ist so etwas wie dies nach dem String.format:
ftps://[email protected]:port/path?password=password&passiveMode=true
Warum die pollEnrich nicht senden Sie mir die beiden Börsen? Es wurde nicht angenommen, dass es dasselbe Verhalten wie eine from-Anweisung hat.
EDIT 1
Gibt es eine Möglichkeit, das zu tun poolEnrich
mit (Recieve alle Börsen, für beide Dateien)?
EDIT 2
Apparently there is not. Also, gibt es eine andere Möglichkeit, alle Dateien von einer ftp
Komponente zu laden, die auf einer direct
Komponente begann, neben der auf der Verbindung?
Wenn Sie die Cron-Planung verwenden möchten, können Sie dies auch direkt auf dem FTP-Endpunkt tun - http://www.davsclaus.com/2013/08/apache-camel-212-even-easier-cron.html - dann brauchst du keine pollEnrich –
Ich denke, ich kann das nicht tun. Ich muss drei FTP-Anrufe machen, also setze ich dann direkt ein. Nach jedem Anruf rufe ich den Prozessor an. Es ist eine Pipeline, die mit Quarz2 gestartet wird. Wenn ich mit einem FTP-Scheduler angefangen habe, wo werde ich die anderen Aufrufe auf ftp stellen? Wie kann ich das organisieren? –
Ich glaube nicht, dass jemand versteht worüber du sprichst. SO ist kein Chat-Forum. Du hast eine Frage gestellt und du hast eine Antwort bekommen. Stellen Sie nicht immer wieder neue Fragen in derselben Frage! –