私は、グローバルに定義されたFTP Camelルートを持っています。 hereを説明するように、再利用Camel FTPルート
exchange.getContext().startRoute("downloadRoute");
、別のスレッドで停止:それは別のルートから開始され
.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();
}
})
それは正常に動作します。今私はこのルートをもう一度始めたいと思う。フォルダに新しいファイルを追加して、それらをもう一度ダウンロードするか、ダウンロードしたファイルを再ダウンロードしたいとします。
私は同じコマンドでこのルートを再開しますが、ファイルをダウンロードすることはありません。ルートのどこかにダウンロードされたとマークされているため、単にファイルが表示されません。一方、私がラクダのコンテキストからこのルートを削除してからもう一度追加して起動すると、ファイルが再びダウンロードされます。
したがって、既存のルートを再利用して(start-stop-start)、新しいルートとして開始する方法がありますか?
これを試してくださいhttps://stackoverflow.com/questions/18211918/camel-ftp-only-run-once –
いいえ、私は経路を停止することができます。私は新しいものとして再びそれを始めることができません。 – streetturtle