我有一个使用 ItemProcessor 处理项目的 Spring Batch 应用程序。
@Component
@StepScope
public class MemberProcessor<T> implements ItemProcessor<T, Member> {
@Override
public Member process(T t) throws Exception {
return processMember((UnprocessedMember) t);
}
}
@Component
@StepScope
public class MemberWriter implements ItemWriter<Member> {
@Override
public void write(List<? extends Member> members) throws Exception {
//store the members in db
saveToDb(members);
}
}
我想知道是否可以在处理项目后更新它,以便当它到达 ItemWriter 时,它会被更新。例如,我处理一个项目,然后我处理另一个可能需要编辑前一个项目的属性的项目。由于上一个项目尚未到达写入器,我无法对数据库进行更新,并且第一个项目在没有更新的情况下被写入