Spring 批量生成报告

Spring batch generating reports

我想在批处理执行结束时生成一份摘要报告。

例如:我有一个接收 accountId 的 ItemProcessor。

for every accountId: get MarketplaceId's for every marketplaceId: call real time availability

在批处理执行结束时,我需要在显示的文件中提供一个很好的摘要,

问题

  1. 我在哪里坚持这些中间结果,即。每次迭代的不同计数
  2. 我如何将这些计数带到下一步,这只是一个摘要文件编写器

如果您能提供任何方向,那就太好了。

谢谢。

编写一个 tasklet 来准备一个美好的夏天,并将该 tasklet 作为作业的最后一步

     <step id="summeryFile" >
        <tasklet ref="summaryFilePreparationTasklet"/>
    </step>

Bean 配置是

<bean id="summaryFilePreparationTasklet" class="com.baji.batch.SummaryPreparationFile">

和Class文件是

 package com.baji.batch;

    import org.springframework.batch.core.StepContribution;
    import org.springframework.batch.core.scope.context.ChunkContext;
    import org.springframework.batch.core.step.tasklet.Tasklet;
    import org.springframework.batch.repeat.RepeatStatus;

    /**
     * @Author
     * Bhaji Shaik
     * May 30, 2015
     */
    public class SummaryPreparationFile implements Tasklet {

        @Autowired
private Holder holder;
        @Override
        public RepeatStatus execute(StepContribution arg0, ChunkContext chunkContext) throws Exception {
                    holder.getResults1();       
            //Write your own code to Prepare a neat summary preparation File
            return null;
        }

    }

持有人 Class 是

 import org.springframework.stereotype.Component;

    @Component
    public class Holder {
        private List<Integer> results1;
        private List<Integer> results2;

         //Setter and getter methods
    }