Это может быть достигнуто с помощью Classifier
. Ниже приведены конфигурации:
Writer - Writer установит Classifer
, чтобы решить, какого писателя нам нужно использовать. На основании выходных данных классификатора будет принято решение.
@Bean
public ItemWriter<Pojo> itemWriter() {
BackToBackPatternClassifier classifier = new BackToBackPatternClassifier();
classifier.setRouterDelegate(new MyClassifier());
classifier.setMatcherMap(new HashMap<String, ItemWriter<? extends Pojo>>() {
{
put("A", WriterA);
put("B", WriterB);
}
});
ClassifierCompositeItemWriter<Pojo> writer = new ClassifierCompositeItemWriter<Pojo>();
writer.setClassifier(classifier);
return writer;
}
Классификатор
public class MyClassifier {
@Classifier
public String classify(Pojo Pojo) {
return Pojo.getType();
}
}