以编程方式运行 Spring Batch Job?

2024-03-11

我有一个 Spring Batch 应用程序,我从以下开始CommandLineJobRunner。但现在我必须将此应用程序嵌入到我们的企业环境中。我们有一个自己的启动器应用程序,我必须使用它。对于这个启动器应用程序,我需要一个带有 main 方法的启动类,该方法将在启动时调用,并且我必须在其中启动 Spring Batch。

是手动分配的唯一方法JobLauncher并使用此启动器运行作业,或者 Spring Batch 中是否有一个类可以支持它(或者有人知道示例)?


使用 Spring Boot 应用程序如果您不想使用 CommandLineRunner (出于某种原因或需要一些自定义逻辑),您始终可以执行以下操作:

public static void main(String[] args) {

    SpringApplication app = new SpringApplication(YourApplication.class);
    app.setWebEnvironment(false);
    ConfigurableApplicationContext ctx = app.run(args);

    JobLauncher jobLauncher = ctx.getBean(JobLauncher.class);
    Job job = ctx.getBean("your-job-here", Job.class);
    JobParameters jobParameters = new JobParametersBuilder().toJobParameters();


    JobExecution jobExecution = jobLauncher.run(job, jobParameters);
    BatchStatus batchStatus = jobExecution.getStatus();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式运行 Spring Batch Job? 的相关文章

随机推荐