@EnableBatchProcessing应该放在哪里?

4

我正在使用 spring-batch 进行作业执行。在哪个类上放置 @EnableBatchProcessing(modular = true) 注释是否重要?

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

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

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

你能再解释一下吗?在我的情况下,我确实有多个批处理作业。只有一个全局的@Configuration @EnableAutoConfiguration类和一个用于模块化批处理配置的类。您建议在哪里添加@EnabelBatchProcessing(modular = true) - membersound
3
@EnableAutoConfiguration 所在的位置相同。 - Michael Minella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接