2013-08-12 73 views
2

我想知道如何以特定順序加載某些文件。例如,我想根據時間戳加載我的文件,以確保後續的數據更新以正確的順序重播。如何按特定順序加載文件

可以說我有兩種類型的文件:交易信息文件和風險文件。

我想加載T1_Info.csv,然後T1_Risk.csv,T2_Info.csv,T2_Risk.csv ...

我試圖實現一個比較,因爲它是在合流說,但似乎loadInstructions文件具有優先級。它將獨立訂購Info文件和風險文件。 (加載T1_Info.csv,T2_Info.csv,然後是T1_Risk.csv,T2_Risk.csv ..)

我是否必須實現自定義文件加載器,還是可以使用AP配置?

回答

2

基於加載指令加載文件在 com.quartetfs.tech.store.csv.impl.CSVDataModelFactory.load(List<FileLoadDescriptor>)中完成。您收到的FileLoadDescriptor列表是直接從加載指令文件創建的。

你可以做的是創建一個簡單的說明文件2條目,一個爲交易信息和一個風險。所以你的自定義實現CSVDataModelFactory將被調用一個包含兩個項目的列表。在您的自定義實現中,掃描文件所在的目錄,按照您希望解析文件的順序對它們進行排序,並使用您通過目錄掃描創建的FileLoadDescriptor列表調用super.load()

如果你還想加載這個文件夾中未來的文件,你必須在你的加載指令中添加一行匹配所有文件的行,並且這將使super.load()實現爲該目錄創建一個目錄觀察器(那麼當調用load時,您應該可以覆蓋createDirectoryWatcher()以不看文件夾中已存在的文件)。