弹簧批处理中每个块的分区处理

时间:2014-01-08 11:16:02

标签: java spring spring-batch

我正在使用spring批处理框架。我正在寻求满足以下要求的解决方案。

假设数据库表中有5000条记录。我想要创建5个块(即每个块正在处理1000条记录)&应该对每个块的处理进行分区(每个分区进程200记录的1000个记录由5个分区组成)。

这与分区配置不同,如下所示。

        <batch:step id="partitionRBMRead" next="job1.flow1">                
            <batch:partition partitioner="rbmPartitioner" step="readDataFromRBM">       
                <batch:handler grid-size="50" task-executor="taskExecutor"/>   
            </batch:partition>              
        </batch:step>                   

        <batch:flow parent="generateCsvFlow" id="job1.flow1" />
    </batch:job>    

因为根据这种配置,它首先创建分区&amp;并行处理它们。但我想要的是顺序执行5个块(大小为1000)用5个并行线程处理每个块。

块1(记录1到1000)=&gt;分区1(记录1到200)||分区2(记录201到400)||分区3(记录401到600)||分区4(记录601到800)||分区5(记录801到1000)

块2(记录1001至2000)=&gt;分区1(记录1001到1200)||分区2(记录1201至1400)||分区3(记录1401至1600)||分区4(记录1601至1800)||分区5(记录1801至2000)

任何人都可以帮助我吗?感谢。

0 个答案:

没有答案