2017-08-08 134 views
0

如何從思想上糾正組織文件處理?Spring批處理,再次處理失敗的文件,跳過成功處理

我有一個新文件(新)文件夾,舊文件(舊)文件夾,失敗文件文件夾(失敗)。新文件放入NEW,如果處理正確,則文件轉到OLD,如果處理失敗,則文件轉到ERR。然後我們再次獲取這個文件並更正它,並且如果所有的ok文件都轉到OLD,並且如果失敗轉到ERR,那麼將它放入NEW。並重復一遍又一遍。

我有一個常量名爲「fileHandlingJob」的作業,在作業中我有一些步驟:「提取」,「處理」,「利用」,我有作業參數:「filePath」,「fileName」。

謝謝!

回答

0

如果你聲明文件的唯一性標準 - 它是文件的名稱,那麼你是正確的。

如果作業處於FAILED狀態(ERR文件夾),那麼您可以使用同一組參數重新觸發它。如果工作已完成 - 您無法再運行它。春季批次會投訴。

您可以通過將唯一文件名稱作爲作業參數來確保此行爲。所以沒有其他工作可以用相同的文件名觸發。春季批次將簡單地阻止這一點。 第二個參數filePath可以是附加的非唯一參數。

JobParametersBuilder jobParametersBuilder = new JobParametersBuilder()     
      .addString("fileName", "myfile.xml", true) 
      .addDate("filePath", "C:\new\myfile.xml", false); 

true/false這裏指參數是否是唯一的或不是。