当前位置: 首页 > 知识库问答 >
问题:

Spring Batch:ItemProcessor不处理所有记录

缑泓
2023-03-14

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

完成作业后,Spring批处理日志中读取了198282条记录,但在处理器中我有一条日志,在开始处理之前只记录了196503条,但有时,处理器处理了所有的记录。

class MyProcessor implements ItemProcessor<Item, Item> {

    @Override
    public Item process(final Item item) {
        log.info("action=process..");
        ....
    }
}
@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();
}

Spring启动版本:2.0.1

共有1个答案

牛昱
2023-03-14

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

 类似资料:
  • 我正在使用spring批处理使用RepositoryItemReader从postgresql DB读取记录,然后将其写入主题。我看到大约有100万条记录需要处理,但它并没有处理所有的记录。我已经将reader的pageSize设置为10,000并且与提交间隔(块大小)相同

  • 我正在spring Boot中使用异步任务执行器对数百万条记录的数据进行分区,块大小为1000条,网格大小为10条。为了从数据库中获取特定的分区数据,我正在使用项目读取器的before步骤中的StepExecution获取分区数据的开始和结束索引(来自Partitioner类)。 例如:项目阅读器 Item Reader遍历testData列表并将testData值返回给writer TestDa

  • 问题内容: 我在Maven中设置Spring + Spring Data JPA + QueryDSL + JPA 2.0 + Hibernate的配置时遇到很多麻烦。我已经解决了很多问题,但这使我头痛= /。 我收到以下异常: 我在Google上进行了查看,大多数情况下,此问题是由缺少注释“ @Transactional”引起的。我试图注释我的方法,但没有解决任何问题。我完全不知道它来自=()。

  • 本文向大家介绍如何处理所有Replica都不工作相关面试题,主要包含被问及如何处理所有Replica都不工作时的应答技巧和注意事项,需要的朋友参考一下   上文提到,在ISR中至少有一个follower时,Kafka可以确保已经commit的数据不丢失,但如果某个Partition的所有Replica都宕机了,就无法保证数据不丢失了。这种情况下有两种可行的方案: 1.等待ISR中的任一个Repli

  • 我在Java中编写了一个更新由制表符分隔的文本文件的方法。我正在使用opencsv库。首先我在现有文件中读取,然后我更改一些列的值,然后我覆盖文件。我正在运行Windows 7。现在的问题是,并非所有内容都写入文件。即使我不更改任何值,只是覆盖文件,也不是所有记录都写入。 我的代码如下。它有什么问题?

  • 我的存储容器中大约有35k blob文件。其中一些是在部署功能之前的旧版本,一些是在部署功能应用之后的旧版本。 这是我的函数签名 我的理解是,这个功能将不断处理所有新旧文件。但是当我在Azure portal上看到那个日志时,这就是发生的事情。 < Li > 2020-01-21t 09:02:56.103[信息]已执行' watch-portal-blob '(成功,Id = 37 CFAF 5