如何在不影响 Spring Cloud Data Flow 上部署的其他作业的情况下修改作业

How to modify a job without effecting the other jobs deployed on Spring Cloud Data Flow

我如何在 SCDF 上修改和部署 1 个作业(例如:通过更改作业 A 重建 jar 文件)但该 jar 文件中的其他作业仍然 运行ning。

我正在 Spring 云数据流上设置一个 Spring 批处理作业。我的 Spring Batch 项目中有多个作业(A、B、C、...)。我已经从我的项目构建了一个 jar 文件并将其部署在 SCDF 上。 我使用 --spring.batch.job.names=A/B/C/... 分别向 运行 每个作业启动任务。 我试过创建一个新的 jar 并用旧的替换它,但它不起作用,因为旧的 jar 仍然 运行ning.

我有多个 类 与多个作业相关并从 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 个作业并部署它而不影响其他作业

您的情况似乎需要组合任务(配置为批处理作业),您可以将组合任务部署为单独的任务(批处理应用程序)。有关组合任务的更多详细信息,请参阅here

修改其中一个作业的版本而不影响其他任务的功能在 2.3.x SCDF 中得到解决,您可以观看史诗 here