[SPRING] 다중 스프링 배치 작업
SPRING다중 스프링 배치 작업
스프링 부트에서 @Scheduled 주석을 사용하여 여러 작업을 트리거하고 있습니다.
다음은 코드 스 니펫입니다.
@EnableBatchProcessing
@EnableScheduling
public class Config extends DefaultBatchConfigurer{
@Autowired
JobLauncher launcher;
@Scheduled
public void run(){
String[] argList = {"A", "B"};
for(String char : argList){
launcher.run(job(),
new JobParametersBuilder().
addString("char", char).
toJobParameters());
}
}
public Job job(){
//Job definition is here.
}
}
그러나 이는 2 개의 작업을 연속적으로 트리거하지만 병렬이 아닙니다. 즉, 매개 변수 "A"가있는 작업이 완료되면 매개 변수 "B"로 작업을 시작합니다.
이 작업을 병렬로 실행할 수있는 방법이 있습니까?
감사!
해결법
-
==============================
1.일부 설정 파일에서 JobLauncher를 정의하고 작업 비동기를 실행할 작업 실행자로 SimpleAsyncTaskExecutor를 설정할 수 있습니다 (다음 작업을 시작하기 위해 완료 할 때까지 기다리지 않음).
일부 설정 파일에서 JobLauncher를 정의하고 작업 비동기를 실행할 작업 실행자로 SimpleAsyncTaskExecutor를 설정할 수 있습니다 (다음 작업을 시작하기 위해 완료 할 때까지 기다리지 않음).
다음 코드 스 니펫이 있습니다.
@Bean public JobLauncher jobLauncher() { final SimpleJobLauncher jobLauncher = new SimpleJobLauncher(); jobLauncher.setJobRepository(jobRepository); final SimpleAsyncTaskExecutor simpleAsyncTaskExecutor = new SimpleAsyncTaskExecutor(); jobLauncher.setTaskExecutor(simpleAsyncTaskExecutor); return jobLauncher; }
from https://stackoverflow.com/questions/30332722/multiple-spring-batch-jobs by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 같은 스프링 부팅 응용 프로그램에서 neo4j 및 cassandra 저장소를 구성하는 방법 (0) | 2019.05.25 |
---|---|
[SPRING] H2 Console을 임베디드 Spring H2 DB에 연결하는 방법 (0) | 2019.05.25 |
[SPRING] 리스트와 체크 박스를 사용한 Spring MVC 데이터 바인딩 (0) | 2019.05.25 |
[SPRING] 봄 mvc와 tess4j (0) | 2019.05.25 |
[SPRING] 리소스의 엔티티 링크를 포함하지 않는 Spring 데이터 REST (0) | 2019.05.25 |