我想讀取一個ftp目錄中的所有文本文件,解析它們。如果解析成功,然後將它們移動到不同的目錄(不是默認的目錄,即.done目錄),如果解析失敗,則文件應保留在ftp目錄中。這個概念看起來很簡單,但是我的路由只從ftp讀取一個文件,而路由在讀取一個文件後自行結束。Apache Camel | FTP |只消費單個文件
以下是代碼:
@Override
public void configure() throws Exception {
from(EndPointConstants.DIRECT + GetDriverProductInfo.class.getSimpleName())
.pollEnrich(ftp://[email protected]/fantics?password=******&recursive=true)
.to("file://test/readFile")
有什麼事情關係到pollEnrich其只能得到一個單一的文件,進程不發生遞歸?
感謝您的決議,但問題是別的。我希望FTP文件夾中的所有文件都由單一路由消耗。目前上面的代碼只是獲取一個文件並停止路由。我想從FTP獲取所有文件,然後遍歷路由中的文件列表。任何幫助,將不勝感激。 – piyushGoyal
然後你應該從ftp使用,例如從(ftp)開始,然後輪詢所有的文件。 pollEnrich用於輪詢*單個*消息。正如@ClausIbsen所說的 –
。您可能想要使用.from(..)並添加聚合策略http://camel.apache.org/aggregator.html。還有一個ftp選項可以遍歷ftp目錄。 –