Java Spring批处理-在自定义项编写器中将每个块项合并到单个列表中

Java Spring批处理-在自定义项编写器中将每个块项合并到单个列表中,java,spring-boot,spring-batch,Java,Spring Boot,Spring Batch,我有一个自定义的条目编写器,可以使用JasperReports向XLSX写入。我的问题是,由于数据是通过块项传递的,所以文件只是被最后一个块项覆盖。如何将每个项目组合成一个列表,并将列表传递给JasperReports方法?或者你有没有其他的方法可以做到这一点 public class CustomerReportWriter implements ItemWriter<Customer> { @Autowired GenerateReportService gen

我有一个自定义的条目编写器,可以使用JasperReports向XLSX写入。我的问题是,由于数据是通过块项传递的,所以文件只是被最后一个块项覆盖。如何将每个项目组合成一个列表,并将列表传递给JasperReports方法?或者你有没有其他的方法可以做到这一点

public class CustomerReportWriter implements ItemWriter<Customer> {

    @Autowired
    GenerateReportService generateReportService;

    @Override
    public void write(List<? extends Customer> list) throws Exception {
        // Merge List?
        generateReportService.jasperReport(list);
    }

}
公共类CustomerReportWriter实现ItemWriter{
@自动连线
GenerateReportService GenerateReportService;
@凌驾

公开无效写入(ListYour
generateReportService
是否支持将项目追加到报表中,还是需要一次追加所有项目?Hi@MahmoudBenHassine,它需要一次追加所有项目。它无法追加。在这种情况下,区块处理模型可能不是最佳选择。如果所有项目都可以保存在内存中,则可以将它们追加到共享集合中。)ide编写器,并通过
StepExecutionListener#afterStep
方法从该集合生成报告。