gpt4 book ai didi

java - 有条件地将数据发送到 Spring Batch 中的多个写入器

转载 作者:行者123 更新时间:2023-12-02 10:51:16 30 4
gpt4 key购买 nike

我的处理器中有一些逻辑,基于此我需要决定是否需要在 TableA (WriterA) 或 TableB(writer) 中写入项目

例如 Item 已提交 type,并且 type 的值可以为 A 或 B,并且基于 type 中的值>提交我需要决定我需要在哪个表中写入数据。

最佳答案

这可以通过使用分类器来实现。以下是配置:

Writer - Writer 将设置 Classifer 来决定我们需要使用哪个 writer。根据分类器的输出,编写器将被决定。

@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();
}
}

关于java - 有条件地将数据发送到 Spring Batch 中的多个写入器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166391/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com