我正在使用Spring Batch设置项目而不使用Spring Boot。创建Spring应用程序上下文后,所有作业都将执行。
我尝试添加spring.batch.job.enbled=false到application.properties以防止这种情况,但仍然无法正常工作。
还有其他方法可以阻止Spring在启动时执行作业吗?
主类:
package com.project.batch;
import ...
@Configuration
@EnableBatchProcessing
@PropertySource("classpath:application.properties")
public class App {
public static void main(String [] args) throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
System.out.println("starting main");
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.scan("com.project.batch");
context.refresh();
//JobParameters jobParameters = new JobParametersBuilder().toJobParameters();
//JobLauncher jobLauncher = context.getBean(JobLauncher.class);
//JobExecution execution = jobLauncher.run(context.getBean("loaderJob",Job.class),jobParameters);
System.out.println("finished!!");
}
}
Run Code Online (Sandbox Code Playgroud)
职位类别:
package com.project.batch;
import ...
@Configuration
public class LoaderJobConfig {
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired …Run Code Online (Sandbox Code Playgroud) spring spring-annotations spring-batch spring-boot spring-config