注释类型 EnableBatchIntegration


  • @Target(TYPE)
    @Retention(RUNTIME)
    @Documented
    @EnableIntegration
    @Import(BatchIntegrationConfiguration.class)
    public @interface EnableBatchIntegration
    Enable Spring Batch Integration features and provide a base configuration for setting up remote chunking or partitioning infrastructure beans. By adding this annotation on a Configuration class, it will be possible to autowire the following beans: For remote chunking, an example of a configuration class would be:
     @Configuration
     @EnableBatchIntegration
     @EnableBatchProcessing
     public class RemoteChunkingAppConfig {
    
            @Autowired
            private RemoteChunkingMasterStepBuilderFactory masterStepBuilderFactory;
    
            @Autowired
            private RemoteChunkingWorkerBuilder workerBuilder;
    
            @Bean
            public TaskletStep masterStep() {
             return this.masterStepBuilderFactory
                    .get("masterStep")
                    .chunk(100)
                    .reader(itemReader())
                    .outputChannel(outgoingRequestsToWorkers())
                    .inputChannel(incomingRepliesFromWorkers())
                    .build();
            }
    
            @Bean
            public IntegrationFlow worker() {
             return this.workerBuilder
                    .itemProcessor(itemProcessor())
                    .itemWriter(itemWriter())
                    .inputChannel(incomingRequestsFromMaster())
                    .outputChannel(outgoingRepliesToMaster())
                    .build();
            }
    
            // Middleware beans omitted
    
     }
     
    For remote partitioning, an example of a configuration class would be:
     @Configuration
     @EnableBatchIntegration
     @EnableBatchProcessing
     public class RemotePartitioningAppConfig {
    
            @Autowired
            private RemotePartitioningMasterStepBuilderFactory masterStepBuilderFactory;
    
            @Autowired
            private RemotePartitioningWorkerStepBuilderFactory workerStepBuilderFactory;
    
            @Bean
            public Step masterStep() {
             return this.masterStepBuilderFactory
                    .get("masterStep")
                    .partitioner("workerStep", partitioner())
                    .gridSize(10)
                    .outputChannel(outgoingRequestsToWorkers())
                    .inputChannel(incomingRepliesFromWorkers())
                    .build();
            }
    
            @Bean
            public Step workerStep() {
             return this.workerStepBuilderFactory
                    .get("workerStep")
                    .inputChannel(incomingRequestsFromMaster())
                    .outputChannel(outgoingRepliesToMaster())
                    .chunk(100)
                    .reader(itemReader())
                    .processor(itemProcessor())
                    .writer(itemWriter())
                    .build();
            }
    
            // Middleware beans omitted
    
     }
     
    从以下版本开始:
    4.1
    作者:
    Mahmoud Ben Hassine