如何在SCDF上修改和部署1个作业(例如,通过更改作业A重建jar文件),但该jar文件中的其他作业仍在运行。
我要在Spring Cloud Data Flow上设置Spring Batch作业。我的Spring Batch项目中有多个作业(A,B,C等)。我已经从项目中构建了一个jar文件,并将其部署在SCDF上。 我在启动任务以分别运行每个作业时使用了--spring.batch.job.names = A / B / C /...。 我尝试创建一个新的jar并将其替换为旧的jar,但是由于旧的jar仍在运行,因此无法正常工作。
我有多个与多个工作相关的类,并且从CommonBatchConfiguration扩展而来:
@Configuration
public class jobAclass extends CommonBatchConfiguration{
@Bean
public Job jobA() {
return jobBuilderFactory
.get("jobA ")
.incrementer(new RunIdIncrementer())
.start(stepA1())
.build();
}
@Bean
public Step stepA1() {
return stepBuilderFactory
.get("stepA1")
.tasklet(taskletA1())
.build();
}
public Tasklet taskletA1() {
return (contribution, chunkContext) -> {
return RepeatStatus.FINISHED;
};
}
}
@Configuration
public class jobBclass extends CommonBatchConfiguration{
@Bean
public Job jobB() {
return jobBuilderFactory
.get("jobB")
.incrementer(new RunIdIncrementer())
.start(stepB1())
.build();
}
@Bean
public Step stepB1() {
return stepBuilderFactory
.get("stepB1")
.tasklet(taskletB1())
.build();
}
public Tasklet taskletB1() {
return (contribution, chunkContext) -> {
return RepeatStatus.FINISHED;
};
}
}
@EnableBatchProcessing
@Configuration
public class CommonBatchConfiguration {
@Autowired
public JobBuilderFactory jobBuilderFactory;
@Autowired
public StepBuilderFactory stepBuilderFactory;
}
我希望在文件jar中修改1个作业并部署它,而不会影响其他作业