如何使用不同的参数启动每个SpringBatch步骤?

如何使用不同的参数启动每个SpringBatch步骤?,spring,spring-batch,Spring,Spring Batch,我是springbatch的新手,我正在尝试从CSV文件中使用quartz调度程序每10秒读取大约2000条记录,并将其写入数据库。 问题是每次它从一开始就开始读取文件,并因此将同一组记录写入数据库。 我尝试过动态更改参数“setLinesToSkip”,但没有效果,这可能是因为它包含在我的默认bean定义中。 是否有某种方法可以从同一点恢复处理,或者可以更新setlinetoskip中的值 @Bean public Step stepOne() { return ste

我是springbatch的新手,我正在尝试从CSV文件中使用quartz调度程序每10秒读取大约2000条记录,并将其写入数据库。 问题是每次它从一开始就开始读取文件,并因此将同一组记录写入数据库。 我尝试过动态更改参数“setLinesToSkip”,但没有效果,这可能是因为它包含在我的默认bean定义中。 是否有某种方法可以从同一点恢复处理,或者可以更新setlinetoskip中的值

    @Bean
    public Step stepOne() {
    return stepBuilderFactory
            .get("stepOne")
            .<Stock,Stock>chunk(5)
            .reader(reader())
            .processor(processor())
            .writer(writer())
            .build();

}

@Bean
public Job readCSVFileJob1() {
    return jobBuilderFactory
            .get("readCSVFileJob1")
            .incrementer(new RunIdIncrementer())
            .start(stepOne())
            .build();
}
@Bean
public ItemProcessor<Stock, Stock> processor(){
    return new DBLogProcessor();
}

 @Bean
    public FlatFileItemReader<Stock> reader() {
     FlatFileItemReader<Stock> itemReader = new FlatFileItemReader<Stock>();
        itemReader.setLineMapper(lineMapper());
        itemReader.setLinesToSkip(1);
        itemReader.setMaxItemCount(2000);
        itemReader.setResource(new FileSystemResource("example.csv"));
        return itemReader;
    }
@Bean
公共步骤第一步(){
返回stepBuilderFactory
.get(“第一步”)
.chunk(5)
.reader(reader())
.processor(处理器())
.writer(writer())
.build();
}
@豆子
公共作业readCSVFileJob1(){
返回jobBuilderFactory
.get(“readCSVFileJob1”)
.incrementer(新的RunIdIncrementer())
.start(步骤一())
.build();
}
@豆子
公共项目处理器(){
返回新的DBLogProcessor();
}
@豆子
公共FlatFileItemReader()读取器{
FlatFileItemReader itemReader=新FlatFileItemReader();
setLineMapper(lineMapper());
itemReader.setLinesToSkip(1);
itemReader.setMaxItemCount(2000);
setResource(新文件系统资源(“example.csv”);
返回项目阅读器;
}