spring 使用 ClassifierCompositeItemwriter 进行批处理,并将所有项目写入数据库
spring batch using ClassifierCompositeItemwriter and additionally write all items to database
我在spring批次中有一个项目,我从一个txt文件中读取(输入数据),根据我读取的项目的验证,它应该写在一个txt文件中(输出1) 或在另一个 txt 文件中(输出 2)我认为为此我应该使用 ClassifierCompositeItemwriter,我该怎么做才能另外写入我在数据库中读取的所有项目(输出 3)?
我必须记住三个输出有不同的格式
谢谢!
您可以使用 CompositeItemWriter
将写入委托给 ItemWriter
的列表。 ItemWriter
列表的顺序很重要,因为它将按顺序调用 ItemWriter
。所以确保 ClassifierCompositeItemwriter
在 ItemWriter
之前用于写入数据库。 :
@Bean
public ItemWriter itemWriter(ClassifierCompositeItemwriter classiferWriter ,JdbcBatchItemWriter jdbcWriter){
CompositeItemWriter writer = new CompositeItemWriter();
writer.setDelegates(List.of(classiferWriter,jdbcWriter));
return writer;
}
我在spring批次中有一个项目,我从一个txt文件中读取(输入数据),根据我读取的项目的验证,它应该写在一个txt文件中(输出1) 或在另一个 txt 文件中(输出 2)我认为为此我应该使用 ClassifierCompositeItemwriter,我该怎么做才能另外写入我在数据库中读取的所有项目(输出 3)? 我必须记住三个输出有不同的格式
谢谢!
您可以使用 CompositeItemWriter
将写入委托给 ItemWriter
的列表。 ItemWriter
列表的顺序很重要,因为它将按顺序调用 ItemWriter
。所以确保 ClassifierCompositeItemwriter
在 ItemWriter
之前用于写入数据库。 :
@Bean
public ItemWriter itemWriter(ClassifierCompositeItemwriter classiferWriter ,JdbcBatchItemWriter jdbcWriter){
CompositeItemWriter writer = new CompositeItemWriter();
writer.setDelegates(List.of(classiferWriter,jdbcWriter));
return writer;
}