编程语言
首页 > 编程语言> > java-如何在Item Reader中以春季批处理的方式获取文件中的行数

java-如何在Item Reader中以春季批处理的方式获取文件中的行数

作者:互联网

我是Spring的新手.我有一个作业,可以在其中读取文件并写入数据库.如果文件中的记录数超过8000,则我不应该处理该文件,而应停止作业执行.请提出什么更好的方法来做到这一点.

解决方法:

您可以在itemreader上实现StepExecutionListener.然后,您可以获得与行号相对应的readcount.

 public class ExampleItemReader implements ItemReader<String>, StepExecutionListener {

    public synchronized String read() throws Exception {
        return "";
    }

    @Override
    public ExitStatus afterStep(StepExecution executionContext) {
        if (executionContext.getReadCount() > 8000) {
            return ExitStatus.COMPLETED;
        }
        return ExitStatus.EXECUTING;
    }

    @Override
    public void beforeStep(StepExecution arg0) {

    }

}

建议阅读spring batch patterns

标签:spring-batch,spring,java
来源: https://codeday.me/bug/20191122/2057949.html