我打算实现批处理从各种DB表中读取数据以填充下面的复杂域,然后在处理器中执行计算并通过writer将数据加载到DB中 .
public class A{
private String id;
private String name;
private ArrayList list1;
private ArrayList list2;
......
}
现在,我陷入了读者的设计 . 想法是查询DB表以获取id列表,然后根据每个id查询包括list1和list2的其他字段 . 看来现有的读者无法满足这一要求,我是否需要创建自定义读卡器来实现目标?我想我会采取块方法,但不知道如何实现它 .
代码示例非常感谢 .
1 回答
您可以使用驾驶查询模式 . 读取器只读取ID,然后处理器可以根据ID查询每个对象的详细信息 .
这是一种常见模式,您可以在此处文档的
common batch patterns
部分找到有关它的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/common-patterns.html#drivingQueryBasedItemReaders