dun*_*nni 15 java spring-batch
我有一个Spring Batch应用程序,我从它开始CommandLineJobRunner
.但现在我必须将此应用程序嵌入到我们的企业环境中.我们有一个自己的Launcher应用程序,我必须使用它.对于这个启动器应用程序,我需要一个带有main方法的启动类,它将在启动时调用,并且我必须启动Spring Batch.
是JobLauncher
使用此启动器手动分配和运行作业的唯一方法,还是Spring Batch中有一个类支持(或者有人知道样本)?
小智 12
如果您不想使用CommandLineRunner(由于某种原因或者您需要一些自定义逻辑),请使用Spring Boot应用程序,您可以始终执行以下操作:
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();
}
Run Code Online (Sandbox Code Playgroud)
JobLauncher可用于以编程方式调用Job.如果您正在寻找一种从Web应用程序触发作业的方法,可以在您的Servlet/Controller中自动装配JobLauncher:
http://docs.spring.io/spring-batch/reference/htmlsingle/#runningJobsFromWebContainer
归档时间: |
|
查看次数: |
28124 次 |
最近记录: |