public interface JobLauncher {
public JobExecution run(Job job, JobParameters jp) throws JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException, JobParametersInvalidException;
}
这是Spring框架JobLauncher i / f的一部分 方法运行必须由实现类实现。
" job"在运行中(作业作业,JobParameters jp)表示接口Job的对象?但是使用Java的逻辑,你无法创建任何接口的对象..
请使用Job interface ...
解释一个例子答案 0 :(得分:0)
" job"在运行中(作业作业,JobParameters jp)代表一个对象 界面工作?但是使用Java的逻辑,你无法创建任何对象 接口..
你是对的,你不能实例化一个接口。参数为Job
的原因是您可以将implements
接口Job
的任何对象传递给该方法。您可以创建多个Job对象,每个对象执行不同的操作,并使用一个 JobLauncher启动它们。
您可以使用JobBuilderFactory
创建可包含许多步骤的作业。
这方面的一个很好的例子可以在这里找到:https://spring.io/guides/gs/batch-processing/
@Bean
public Job importUserJob(JobCompletionNotificationListener listener) {
return jobBuilderFactory.get("importUserJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.flow(step1())
.end()
.build();
}
使用上面的内容将在Spring中创建一个FlowJob
对象,它将与JobLauncher的run方法兼容,因为它实现了Job
。