2017-02-13 56 views
0

我有一個用例,我找不到實現它的方法,在這裏它是:使用FTP連接,我只需要從列表中獲取以特定前綴命名的文件。 (文件名格式示例FileA_20170210073006539.csv,FileB__20170210073006475.csv,FileC_20170210073006485.csv)。Apache CAMEL進程文件存在

我只能處理這些文件,當它們都在同一個日期。

我首先做的是用這些3前綴的過濾器複製文件,然後我想使用聚合器,但我找不到一種方法來實現這一點。例如,如果我有我的FTP文件夾

  1. FileA_20170209073006539.csv
  2. FileB__20170209073006475.csv
  3. FileC_20170209073006485.csv
  4. FileA_20170210073006539.csv
  5. FileB__20170210073006475.csv
  6. FileC_20170210073006485.csv

我必須開始n通過處理FileX_20170209文件(最舊的文件)。

A和如果我只有:

  1. FileB__20170210073006475.csv
  2. FileC_20170210073006485.csv

我必須等待FileA_20170210存在。我可以使用聚合器嗎?如果是的話如何?

謝謝您的幫助

+0

你在哪裏可以從列表中?您可以對文件進行排序,然後使用篩選器篩選器,如果您擁有所有文件,則可以返回true | false。在文件過濾器中,您可以存儲狀態,以便您可以記住以前的文件,以便按照該順序檢查它們是否爲A .. B .. C。然後,這會變得有點棘手,因爲第一次你需要說錯誤,然後在第二輪調查中你會知道A B和C是否存在並且可以返回true。 –

回答

0

你需要做的:

tWaitForFile - > tFTPFileList - >您的過程

在這兩個組件,您可以使用 「*」 做一個面膜以過濾像

  • "*20100708"文件由"20100708"
  • 只取文件魔女完成
  • "FILE_A*"只取文件巫婆開始通過"FILE_A"