我有一個全局定義的FTP駱駝路由。這是從另一個途徑啓動:重複使用駱駝FTP路由
exchange.getContext().startRoute("downloadRoute");
,並在另一個線程停止,因爲描述here:
.process(new Processor() {
Thread stop;
@Override
public void process(final Exchange exchange) throws Exception {
stop = new Thread() {
@Override
public void run() {
try {
log.info("Stopping route");
exchange.getContext().stopRoute("downloadRoute");
} catch (Exception e) {
} finally {
latch.countDown();
}
}
};
stop.start();
}
})
它工作正常。現在我想再次開始這條路線。假設我向文件夾添加了新文件,並希望再次下載它們,或者重新下載下載的文件。
所以我用相同的命令再次啓動這個路由,但它不下載文件 - 它根本沒有看到它們,因爲它們標記爲在路由的某處下載。而如果我從駱駝上下文中刪除這條路線,然後再次添加並開始 - 它的工作原理 - 它再次下載文件。
所以問題是如何重用(啓動 - 停止 - 啓動)現有的路線,以便它開始作爲一個新的?
請嘗試這一個https://stackoverflow.com/questions/18211918/camel-ftp-only-run-once –
不,我能夠停止路線。我無法再作爲一個新的開始。 – streetturtle