我使用的是Spring batch 2.1.9版本
我需要配置一个作业步骤,从Mysql DB读取数据,处理它,并写回Mysql。我想分块来做。
我考虑过使用JdbcCursorItemReader,但是SQL很复杂。我需要从另外三个表中获取数据,以创建要在阅读器中使用的实际SQL。
但是,如果我将customItemReader与JdbcTemplate/NamedParameterJdbcTemplate一起使用,我如何确保该步骤处理块中的数据?我没有使用JPA/DAOs。
非常感谢,
发布于 2013-11-20 20:50:49
在Spring中,批处理数据通常作为块进行处理;最简单的方法是在步骤定义中声明一个commit-interval;请参阅Configuring a step。
定义自定义块策略的另一种方法是实现您自己的CompletionPolicy。
要回答您的问题,请使用Driving Query Based ItemReaders从主表读取并构建复杂对象(从其他表读取),定义一个commit-interval并使用标准的读取/处理/写入步骤模式。
我希望我说得很清楚,英语不是我的语言。
https://stackoverflow.com/questions/20094355
复制相似问题