我有一種情況,我通過 Camel SFTP 路由從檔案夾中提取檔案。還有其他 3 條 Camel 路由需要處理我正在拉取的同一個檔案……其他路由監視同一個 SFTP 服務器。
目前,我們正在考慮通過將檔案的副本放置在 3 個單獨的檔案夾中,其中每個檔案夾由其他 3 個路由之一監控......一個唯一檔案夾對于 3 條路線中的每條路線。
當其他路由檢測到我要復制的檔案的存在時,它們會啟動并按要求繼續。
第一個問題是這是否是處理我剛才描述的場景的合理方法,或者是否有更好的方法。
其次,假設場景是合理的,問題是處理將檔案傳播到同一 SFTP 服務器上的 3 個不同檔案夾的最佳方法是什么。
值得一提的是,我們使用的是 Spring XML DSL。
uj5u.com熱心網友回復:
我認為您應該將檔案掃描與檔案處理分離。特別是,在 SFTP 服務器上可能不需要多次讀取同一個檔案,而只是多次處理其內容。
這最終可能會是這樣的:
from("sftp://server/folder1")
.to("direct:processing1");
from("sftp://server/folder2")
.to("direct:processing2");
from("sftp://server/folder3")
.to("direct:processing3");
from("sftp://server/toplevel")
.multicast().parallelProcessing()
.to("direct:processing1")
.to("direct:processing2")
.to("direct:processing3")
.end();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496079.html
