【发布时间】:2018-03-12 09:50:11
【问题描述】:
我是春季批次的新手,我无法确定我需要为读者使用什么模式。我需要创建类 WSRequestClass 并将其发送到 SOAP Web 服务。
public class WSRequestClass{
private String data1;
private String data2;
private String data3;
private String data4;
private List<ClassB> dataList;
}
需要创建WSRequestClass:
- 从表 A 中读取
data1和data2。 - 从表 B 中读取
data3和data4。 -
List<ClassB>应该由更复杂的流程创建。首先,我从表 C 的查询中获取数据,但此查询的结果是List<ClassA>。我需要处理List<ClassA>的每一项并将其转换为ClassB,其中一些属性是从ClassA计算的。 (块模式,但没有作家)。public class ClassA { private Date date; private BigDecimal amount1; private BigDecimal amount2; private String data; //getters & setters ... } public class ClassB { private Date date; private BigDecimal amount1; private BigDecimal amount2; private BigDecimal amount3; private BigDecimal amount4; private String data1; private String data2; //getters & setters ... }
我找到了多个简单块模式和 tasklet 的示例,但没有一个遵循这种结构。该作业使用 java 配置和 JdbcTemplate 进行查询。 Web服务的开发调用它完成了,我唯一的问题是我必须从多个表中读取并有效地读取列表,将每个项目转换为ClassB并设置为WsRequestClass。
请指导我使用的模式,因为常见的ItemReader不适合我,而且我不知道如何实现自定义阅读器,让我做我想做的事。
【问题讨论】:
标签: spring spring-batch