0
我想讀取多個表,以從這些表中的每個表中獲取幾個字段&將其寫入xml。 我創建了一個自定義ItemReader並有多個查詢。 我有兩個問題閱讀多個表Spring批次ItemReader
1)我的讀者進入一個infinte循環,因爲我不知道什麼時候&如何返回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>
我認爲你可以容納http://stackoverflow.com/questions/21304364/spring-batch-job-read-from-multiple-數據庫以滿足您的需求 –