通过 Spring Cloud Data Flow UI 提供作业参数
Providing job parameter via Spring Cloud Data Flow UI
在 Docker 中部署了数据流,Spring 批处理应用程序作为 'Task' 部署并转变为任务。
我正在尝试为我的任务提供一年的工作参数。我试过使用带有 @ConfigurationProperties
注释的属性 class,就像在 timestamp example 中一样。然后我通过 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;
}
}
但在后面的步骤中找不到作业参数。
有没有办法将作业参数从 Spring Cloud Data Flow UI 传递给执行?
作业参数作为 Arguments
传递,您无需指定 --
前缀。例如,在这种情况下,您需要将 year=2011
指定为 Arguments
部分中的参数。
在 Docker 中部署了数据流,Spring 批处理应用程序作为 'Task' 部署并转变为任务。
我正在尝试为我的任务提供一年的工作参数。我试过使用带有 @ConfigurationProperties
注释的属性 class,就像在 timestamp example 中一样。然后我通过 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;
}
}
但在后面的步骤中找不到作业参数。
有没有办法将作业参数从 Spring Cloud Data Flow UI 传递给执行?
作业参数作为 Arguments
传递,您无需指定 --
前缀。例如,在这种情况下,您需要将 year=2011
指定为 Arguments
部分中的参数。