Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring批处理中有条件地向多个写入程序发送数据_Java_Spring_Spring Boot_Spring Batch_Batch Processing - Fatal编程技术网

Java 在spring批处理中有条件地向多个写入程序发送数据

Java 在spring批处理中有条件地向多个写入程序发送数据,java,spring,spring-boot,spring-batch,batch-processing,Java,Spring,Spring Boot,Spring Batch,Batch Processing,我的处理器中有一些逻辑,根据这些逻辑,我需要决定是否需要在TableA WriterA或TableBwriter中写入项 e、 g项具有归档类型,类型可以具有值A或B,根据归档类型中的值,我需要决定需要在哪个表中写入数据 这可以通过使用分类器来实现。以下是配置: Writer-Writer将设置Classifier以决定我们需要使用哪个Writer。根据classfiter的输出,将决定编写器 @Bean public ItemWriter<Pojo> itemWriter() {

我的处理器中有一些逻辑,根据这些逻辑,我需要决定是否需要在TableA WriterA或TableBwriter中写入项


e、 g项具有归档类型,类型可以具有值A或B,根据归档类型中的值,我需要决定需要在哪个表中写入数据

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

Writer-Writer将设置Classifier以决定我们需要使用哪个Writer。根据classfiter的输出,将决定编写器

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