gpt4 book ai didi

java - Spring Batch 作业调度程序

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:00 25 4
gpt4 key购买 nike

有没有办法为通过 XML 配置的特定 Spring Batch 作业指定调度程序,而无需像这样的 utils RunScheduler 类:https://www.mkyong.com/spring-batch/spring-batch-and-spring-taskscheduler-example/

所以现在我的配置如下所示:

 <batch:job id="testJob" job-repository="jobRepository" parent="jobParent">
<batch:step id="testStep" allow-start-if-complete="true">
<batch:tasklet>
<batch:chunk
reader="testReader"
processor="testProcessor"
writer="jmsWriter">
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>


<task:scheduled-tasks>
<task:scheduled ref="testJobLauncher" method="runJob" cron="0 */5 * * * *"/>
</task:scheduled-tasks>

<bean id="testJobLauncher"
class="com.test.RunScheduler"
p:job-ref="testJob"
p:jobLauncher-ref="jobLauncher"
"/>



@Component
public class RunScheduler {

private JobLauncher jobLauncher;
private Job job;

public void runJob() {
try {
String dateParam = new Date().toString();
JobParameters param = new JobParametersBuilder().addString("date", dateParam).toJobParameters();
JobExecution execution = jobLauncher.run(job, param);
} catch (Exception e) {
LOGGER.error("Can't start job", e);
throw new RuntimeException(e);
}
}

public Job getJob() {
return job;
}

public void setJob(Job job) {
this.job = job;
}

public JobLauncher getJobLauncher() {
return jobLauncher;
}

public void setJobLauncher(JobLauncher jobLauncher) {
this.jobLauncher = jobLauncher;
}

}

有没有办法不使用 RunScheduler 类而只使用 XML 配置来处理它?<​​/p>

最佳答案

您可以使用 @EnableScheduling 和 cronSequenceGenerator 的功能进行调度和 cron 设置,而不依赖于 util 类。

关于java - Spring Batch 作业调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45141463/

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