繁体   English   中英

Spring Batch:ItemProcessor不会处理所有记录

[英]Spring Batch: ItemProcessor does not process all records

我的批处理作业不处理所有读取的记录。

完成这项工作后,Spring Batch日志读取了198282条记录,但是在处理器中我有一条日志,然后才开始处理,并且只记录了196503年,但有时,处理器会处理所有日志。

我在油门限制= 20的多线程中运行该作业,但是有时我遇到此问题,而不是全部处理。

ItemReader: JavePagingItemReader的saveState = false

ItemProcessor:

class MyProcessor implements ItemProcessor<Item, Item> {

    @Override
    public Item process(final Item item) {
        log.info("action=process..");
        ....
    }
}

可能会发生什么? Spring Batch没有将所有记录发送给进程,或者我在做多线程处理时做错了什么?

工作

@Bean
public Job myJob (Step myStep) {
    return jobBuilderFactory.get("myJob")
            .start(myStep)
            .build();
}

@Bean
public Step consolidateTaxaRebateJobStep (
        JpaPagingItemReader<Item> reader,
        ItemProcessor<Item, Item> processor,
        ItemWriter<Item> writer,
        TaskExecutor taskExecutor) {
    return stepBuilderFactory.get("myStep")
            .<Item, Item>chunk(200)
            .reader(reader)
            .processor(processor)
            .writer(writer)
            .taskExecutor(taskExecutor)
            .throttleLimit(20)
            .build();
}

春季启动版本: 2.0.1

问题是我有一个异常侦听器,当某些记录抛出异常时,该块中的所有记录都会被跳过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM