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