gpt4 book ai didi

java - Spring 启动批处理: How to run job with job parameters

转载 作者:行者123 更新时间:2023-11-30 05:34:40 29 4
gpt4 key购买 nike

我必须在 Spring Batch 上设置 jobparemeters,但使用 Spring Boot Batch 则无法轻松做到这一点。

我需要重新运行作业,但如果参数相同,spring-batch 将不会再次运行作业。所以我决定添加一个时间戳作为参数。

最佳答案

我找到了一种方法,并将我的解决方案放在 stackoverflow 上,供那些可能感兴趣的人使用。

首先,您需要在 application.properties/application.yml 中添加此属性:

spring.batch.job.enabled: false

使用该属性,Spring Boot 不会自动运行该作业。

接下来,在配置文件中,您必须添加一个运行作业的 bean 以及可以放置作业参数的位置:

@Bean
@Autowired
public JobExecution run(Job job, JobLauncher jobLauncher) {
JobExecution jobExecution = null;
try {
JobParameters jobParameters = new JobParametersBuilder()
.addLong("time", System.currentTimeMillis()).toJobParameters();

jobExecution = jobLauncher.run(job, jobParameters);
logger.info("Exit Status : " + jobExecution.getStatus());
} catch (Exception e) {
e.printStackTrace();
}
return jobExecution;
}

如果你有更好的方法,请告诉我。

关于java - Spring 启动批处理: How to run job with job parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56871710/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com