我有两个这样的作业。。
@Configuration
@RequiredArgsConstructor
public class A1 {
private final JobBuilderFactory jobBuilderFactory;
...
@Bean
public Job test1() {
return jobBuilderFactory.get("test1").start(step()).build();
}
... step, tasklet
}
@Configuration
@RequiredArgsConstructor
public class A2 {
private final JobBuilderFactory jobBuilderFactory;
...
@Bean
public Job test2() {
return jobBuilderFactory.get("test2").start(step()).build();
}
... step, tasklet
}
无论在job.names中设置了什么值,类A2的test2方法都将始终执行。
参数参数是--spring.batch.job.names=测试1=>执行test2方法和
--spring.batch.job.names=test2=>执行测试2方法
如果A2类被注释(/**/(,那么test1方法被成功执行。
原因是什么?
我找到了原因在我的例子中,@Bean步骤方法名称对于两个作业是相同的。。T_T