另一个作业在春季批处理中使用job.names执行



我有两个这样的作业。。

@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

最新更新