【发布时间】:2015-11-13 04:03:23
【问题描述】:
我想读取多个表以从每个表中获取几个字段并将其写入 xml。 我创建了一个自定义 ItemReader 并有多个查询。 我有两个问题
1) 我的阅读器进入无限循环,因为我不确定何时以及如何返回 null
2) 合并多个表中的数据并将其发送到 ItemWriter 的最佳方法是什么?
public class SolrTransformProductReader implements ItemReader <ProductWithPrograms> {
@Autowired
private JdbcTemplate jdbcTemplate;
private String sql1 = "Select PRODUCT_CODE from product";
private String sql2 = "Select PRODUCT_CODE, CONTRIBUTOR_ID from product_Contributor";
@Override
public ProductWithPrograms read() throws Exception {
SqlRowSet productRows = jdbcTemplate.queryForRowSet(sql1);
while(productRows.next()) {
System.out.println("Product Code " + productRows.getString("PRODUCT_CODE"));
ProductWithPrograms pp = new ProductWithPrograms();
pp.setProduct_Code(productRows.getString("PRODUCT_CODE"));
return pp;
}
return null;
}
}
我的xml如下
<job id="SEG_SolrTransformation" xmlns="http://www.springframework.org/schema/batch">
<batch:step id="solrProductTransformation">
<tasklet>
<chunk reader="solrTransformProductReader" writer="solrTransformProductWriter" commit-interval="999" />
</tasklet>
</batch:step>
</job>
【问题讨论】:
-
我认为您可以容纳stackoverflow.com/questions/21304364/…以满足您的需求
标签: spring-batch