java - 如何拥有多个spring boot批处理配置类
问题描述
如果我想在我的批处理项目中有几个工作。每个文件只包含一个作业。
工作一:
@Configuration
public class StartTest1 {
@Autowired
JobBuilderFactory jobBuilderFactory;
@Autowired
StepBuilderFactory stepBuilderFactory;
@Bean
public Job processJob() {
return jobBuilderFactory.get("processJob1").incrementer(new RunIdIncrementer())....;
}
....
}
工作2:
@Configuration
public class StartTest2 {
@Autowired
JobBuilderFactory jobBuilderFactory;
@Autowired
StepBuilderFactory stepBuilderFactory;
@Bean
public Job processJob() {
return jobBuilderFactory.get("processJob2").incrementer(new RunIdIncrementer())....;
}
....
}
我尝试为每个类设置@Configuration 注释。但是在运行时只执行一项作业。如何拥有多个作业文件?
解决方案
我认为问题在于两个作业 bean 具有相同的名称processJob
,因此在构建应用程序上下文时一个会覆盖另一个。最简单的解决方案是使用唯一的 bean 名称,例如您提供的名称Job
s: processJob1
, processJob2
.
推荐阅读
- javascript - JS跳过名称中两部分代码之间的差异
- python - 用 Python 编写的带有 SPIKE 的模糊测试服务器
- ip - iceccd 输出:错误:地址已在使用中
- python - 如何从 div 类下获取 a href 链接?
- openid-connect - 没有为 OIDC 安全方案填充 swagger-ui 上的可用授权模式
- javascript - 滚动到顶部到原始滚动状态
- jquery - 调用所有类方法或函数的 JQuery 侦听器
- xamarin.android - 图像的长度和宽度是两倍,为什么?
- java - Java Flight Recorder - 没有活动对象
- graph - 点符号等级未将项目放置在同一水平线/平面上