gpt4 book ai didi

java - 如何作为后台线程启动 Spring Batch 作业

转载 作者:行者123 更新时间:2023-12-01 08:48:54 26 4
gpt4 key购买 nike

我们希望在后台启动一项作业,这样它就不会使用应用程序中的所有资源,并且可以影响应用程序的“正常”任务。它应该从正在运行的 Java 应用程序中启动,而不是从命令行执行。

有人知道如何使用 Spring 调度启动 Spring Batch 作业作为后台任务/守护进程吗?

最佳答案

经过更多调查,我发现您可以为 JobLauncher 配置任务执行器。然后,您可以使用 SimpleAsyncTaskExector 并将其配置为守护进程并设置线程优先级。

@Bean
public JobLauncher jobLauncher(final JobRepository jobRepository, final TaskExecutor taskExecutor) {

final SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
jobLauncher.setJobRepository(jobRepository);
jobLauncher.setTaskExecutor(taskExecutor);
return jobLauncher;
}

@Bean
public TaskExecutor taskExecutor() {

SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor();
taskExecutor.setDaemon(true);
taskExecutor.setThreadPriority(Thread.MIN_PRIORITY);
return taskExecutor;
}

关于java - 如何作为后台线程启动 Spring Batch 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42511399/

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