Spring Batch Integration 機能を有効にし、リモートチャンク化またはインフラストラクチャ Bean のパーティション化をセットアップするための基本構成を提供します。このアノテーションを
Configuration
クラスに追加することにより、次の Bean をオートワイヤーすることが可能になります。
リモートチャンクの場合、構成クラスの例は次のようになります。
@Configuration
@EnableBatchIntegration
@EnableBatchProcessing
public class RemoteChunkingAppConfig {
@Autowired
private RemoteChunkingManagerStepBuilderFactory managerStepBuilderFactory;
@Autowired
private RemoteChunkingWorkerBuilder workerBuilder;
@Bean
public TaskletStep managerStep() {
return this.managerStepBuilderFactory
.get("managerStep")
.chunk(100)
.reader(itemReader())
.outputChannel(outgoingRequestsToWorkers())
.inputChannel(incomingRepliesFromWorkers())
.build();
}
@Bean
public IntegrationFlow worker() {
return this.workerBuilder
.itemProcessor(itemProcessor())
.itemWriter(itemWriter())
.inputChannel(incomingRequestsFromManager())
.outputChannel(outgoingRepliesToManager())
.build();
}
// Middleware beans omitted
}
リモートパーティショニングの場合、構成クラスの例は次のようになります。
@Configuration
@EnableBatchIntegration
@EnableBatchProcessing
public class RemotePartitioningAppConfig {
@Autowired
private RemotePartitioningManagerStepBuilderFactory managerStepBuilderFactory;
@Autowired
private RemotePartitioningWorkerStepBuilderFactory workerStepBuilderFactory;
@Bean
public Step managerStep() {
return this.managerStepBuilderFactory
.get("managerStep")
.partitioner("workerStep", partitioner())
.gridSize(10)
.outputChannel(outgoingRequestsToWorkers())
.inputChannel(incomingRepliesFromWorkers())
.build();
}
@Bean
public Step workerStep() {
return this.workerStepBuilderFactory
.get("workerStep")
.inputChannel(incomingRequestsFromManager())
.outputChannel(outgoingRepliesToManager())
.chunk(100)
.reader(itemReader())
.processor(itemProcessor())
.writer(itemWriter())
.build();
}
// Middleware beans omitted
}