分块导向处理
Spring Batch 最常用的处理方式是“块导向”处理方式
实现。分块导向处理指的是一次读取一个数据和
创建“区块”,这些块被写入交易边界内。一旦
读取的项等于提交间隔,整个区块由物品写手,然后交易被提交。下图显示了
过程:
图1。分块导向处理
以下伪代码以简化形式展示了相同的概念:
List items = new Arraylist();
for(int i = 0; i < commitInterval; i++){
Object item = itemReader.read();
if (item != null) {
items.add(item);
}
}
itemWriter.write(items);
你也可以配置一个以区块为导向的步骤,并可选地设置物品处理器在将物品交接给物品写手.下图
显示当物品处理器在步骤中被记录为:
图2。基于项目处理器的块导向处理
以下伪代码展示了其简化实现方式:
List items = new Arraylist();
for(int i = 0; i < commitInterval; i++){
Object item = itemReader.read();
if (item != null) {
items.add(item);
}
}
List processedItems = new Arraylist();
for(Object item: items){
Object processedItem = itemProcessor.process(item);
if (processedItem != null) {
processedItems.add(processedItem);
}
}
itemWriter.write(processedItems);
有关物品处理及其使用场景的更多细节,请参见物品处理部分。