【发布时间】:2017-02-18 16:57:20
【问题描述】:
我有 spring 批处理应用程序,它可以读取和写入同一个表。由于我的数据量很大,所以我使用分页来读取表格中的项目。当我将块大小设置为大于 1 时,我的分页号会错误地更新,因此无法从表中读取某些项目。 有什么想法吗?
@Bean
public Step fooStep1() {
return stepBuilderFactory.get("step1")
.<foo, foo>chunk(chunkSize)
.reader(fooTableReader())
.writer(fooTableWriter())
.listener(fooStepListener())
.listener(chunkListener())
.build();
}
读者
@Bean
@StepScope
public ItemReader<foo> fooBatchReader(){
NonSortingRepositoryItemReader<foo> reader = new NonSortingRepositoryItemReader<>();
reader.setRepository(service.getRepository());
reader.setPageSize(chunkSize);
reader.setMethodName("findAllByStatusCode");
List<Object> arguments = new ArrayList<>();
reader.setArguments(arguments);
arguments.add(statusCode);
return reader;
}
【问题讨论】:
-
“错误更新”是什么意思?是什么推动了查询?
标签: spring spring-batch