spring 批处理中每个块的分区处理

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

假设数据库表中有5000条记录 . 我想要创建5个块(即每个块处理1000条记录)并且应该对每个块的处理进行分区(每个分区进程200记录的5个分区有1000条记录) .

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

<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>

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

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

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

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

回答(0)