簡體   English   中英

Spring批處理中的驗證步驟

[英]Validation step in Spring batch

我第一次使用 Spring 批處理,我需要一些有關驗證步驟的幫助。

在真正開始我的批處理作業之前,我需要對要處理的文件進行一些驗證,例如:

  • 使用數據庫中的信息檢查名稱
  • 使用來自系統和數據庫的信息檢查第一行和最后一行(這是特定的)
  • 用第一行的數據檢查總行號

之后我就可以真正開始我的批處理工作了。

我想到了相互鏈接的多個步驟,最初的步驟是進行驗證,如果文件無效,則該過程將進入錯誤步驟。

我該如何進行此驗證? 找到的所有閱讀器只給我一行文件,我必須創建自己的閱讀器嗎? 您將采用哪種方法來管理這種行為?

首先,使用JobExecutionDecider 如果測試未通過,則以錯誤結束您的工作。 對於剩余的點,您可以編寫自己的閱讀器或

  • 第一行使用FlatFileItemReader.setLinesToSkip()FlatFileItemReader.setSkippedLinesCallback()
  • 使用PeekableItemReader來檢查您是否在最后一行並在處理器階段執行不同的驗證。

這種方法可能需要您為第一行、最后一行和其他行編寫不同的域對象。

您可以使用單步並制作一個偵聽器,您可以在 beforeStep 中驗證您想要的任何內容,或者您​​可以有兩個步驟,第一步是驗證並在 StepExecutionListener 的 afterstep 方法中返回適當的返回狀態。

簡而言之-使用偵聽器進行驗證,請 在此處參考一個非常好的示例

要驗證輸入文件,您可以參考此示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM