我有一个Item
对象如下:Spring Batch的项目读者从多个数据库中读取数据
class Item{
private String idProperty;
private String prop1Db1;
private String prop2Db1;
private String prop1Db2;
private String prop2Db2;
// getters and setters here
}
现在,对于一个给定的idProperty
,两个特性来自于一个数据库中,而其他两个属性来自另一个数据库(从属性名称可以清楚)。两个数据库中的表格都有idProperty
作为公共属性。
我可以采取的一种方法是从第一个数据库中读取前三个属性。将不完整的Item
转换为Processor
,然后在Processor
中触发一个查询,以获得其他两个属性完成Item
,然后将其传递到Writer
。
但是,对于大量的记录(百万),这将是一个巨大的性能打击,只有在Processor
中我必须触发的查询数量。
有没有办法在Reader
本身做到这一点? A Reader
从两个数据库中同时读取以创建Item
,然后将其发送到Processor
和Writer
之前?
可能的重复http://stackoverflow.com/questions/21304364/spring-batch-job-read-from-multiple-database – 2014-09-05 05:54:37
@KarthikPrasad:不,它不是重复的。你链接的问题从两个数据库中读取相同类型的记录,比如一个Book对象。而在我的情况下,单个Book对象的属性分为两个数据库。 – Nik 2014-09-05 12:41:23