繁体   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