我有一个 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(使用前将#替换为@)