我正在使用spring-batch执行作业。我在哪个类上放置@EnableBatchProcessing(modular = true)批注有关系吗?

我将其放置在全局ApplicationConfig上,还是将其放置在创建批处理作业执行上下文的模块化批处理配置中更好?例如:

@Configuration
public class ModularBatchConfig {
    @Bean
    public ApplicationContextFactory myJob() {
       return new GenericApplicationContextFactory(MyJob.class);
    }
}

最佳答案

在包含多个批处理作业的“应用程序”中,建议将@EnableBatchProcessing置于有意义的最高级别。我的意思是,@EnableBatchProcessing将引导许多常用组件(JobRepositoryTransactionManager等)。通常最好将它们用作通用组件,而不是每个作业都引导一个组件。

10-08 03:07