springbatch5.0.2中如何获取new JobBuilder("Spring Batch Job RunIdIncr", jobRepository) JobParametersIncrementer .start(step()) .incrementer(new RunIdIncrementer()) .build();参数值
时间: 2024-01-27 20:05:33 浏览: 102
在 Spring Batch 5.0.2 中获取 `RunIdIncrementer` 的参数值,可以通过以下方式实现:
1. 在启动作业时,将 `JobParameters` 作为参数传递给 `JobLauncher` 的 `run` 方法:
```
@Autowired
private JobLauncher jobLauncher;
@Autowired
@Qualifier("jobName")
private Job job;
public void runJob() throws Exception {
JobParameters jobParameters = new JobParametersBuilder()
.addLong("run.id", System.currentTimeMillis())
.toJobParameters();
jobLauncher.run(job, jobParameters);
}
```
上述代码中,我们创建了一个 `JobParameters` 对象,并添加了一个名为 `run.id` 的参数,参数值为当前时间戳。
2. 在 `Job` 的配置中,使用 `${run.id}` 表达式来引用 `run.id` 参数的值:
```
@Bean
public Job jobName() {
return jobBuilderFactory.get("jobName")
.incrementer(new RunIdIncrementer())
.start(stepName())
.build();
}
```
上述代码中,我们使用 `RunIdIncrementer` 来增量作业参数,并在 `Job` 的配置中使用 `${run.id}` 表达式来引用 `run.id` 参数的值。
这样,在执行作业时,`RunIdIncrementer` 将会使用 `JobParameters` 对象中的 `run.id` 参数值来增量作业参数。在本例中,`RunIdIncrementer` 参数的值为当前时间戳。
阅读全文