0

Docker 中部署了数据流,Spring Batch 应用程序部署为“任务”并转换为任务。

我正在尝试为我的任务提供一年的工作参数。我尝试过使用带有@ConfigurationProperties注释的属性类,例如时间戳示例。然后我通过将其转换为作业参数JobParametersIncrementer

        @Bean
public Job job() {
  return this.jobBuilderFactory
      .get("job")
      .incrementer(new SampleIncrementer(year))
      .start(step())
      .build();
}

class SampleIncrementer implements JobParametersIncrementer {

 private final Long year;

 public SampleIncrementer(final Long year) {
  this.year = year;
}
public JobParameters getNext(final JobParameters parameters) {
    if (isNull(parameters)) {
      return new JobParametersBuilder().addLong("year", year).toJobParameters();
    }
    if (isNull(parameters.getLong("year"))) {
      return new JobParametersBuilder(parameters).addLong("year", year).toJobParameters();
    }
    return parameters;
  }
}

但是稍后在 Step 中找不到 job 参数。

有没有办法将作业参数从 Spring Cloud Data Flow UI 传递给执行?

通过 UI 过年

4

1 回答 1

2

作业参数作为Arguments您不需要指定--前缀的位置传递。例如,在这种情况下,您需要year=2011在节中指定为参数Arguments

于 2020-08-16T02:27:36.713 回答