如何解决通过Spring Cloud Data Flow UI提供作业参数
在Docker中部署了数据流,并且将Spring Batch应用程序部署为“任务”并变成了任务。
我正在尝试为我的任务提供年度工作参数。我尝试使用带有@ConfigurationProperties
批注的属性类,例如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;
}
}
但是稍后在Step中找不到job参数。
是否可以将作业参数从Spring Cloud Data Flow UI传递到执行?
解决方法
作业参数作为Arguments
传递,您无需指定--
前缀。例如,在这种情况下,您需要在year=2011
部分中指定Arguments
作为参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。