我正在使用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)
任何人都可以帮助我吗?谢谢 .