Spring Batch
Spring Batch 문법
Spring Batch 순차적으로 Step 시행하기 @Configuration @RequiredArgsConstructor @Slf4j public class JobConfiguration { private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; @Bean public Job testJob() { return jobBuilderFactory.get("testJob") .start(step1()) .next(step2()) // step1()이 정상 종료되면 step2()로 이동 .next(step3()) // steo2()가 정상 종료되면 step3()로 이동 .build(..
Spring Batch 메타 테이블 데이터
메타 테이블 데이터 BATCH_JOB_INSTANCE Job이 실행되면 JobInstance가 이 테이블에 저장된다. JOB_INSTANCE_ID : BATCH_JOB_INSTANCE 테이블의 PK VERSION : 업데이트 될 때마다 1씩 증가 JOB_NAME : Job의 이름 JOB_KEY : job_name과 jobParameter를 합쳐 해싱한 해시코드 저장 job_key이 같으면 추가적으로 기록되지 않습니다. 즉 같은 Batch Job인 경우 JobParameter가 다른 경우에만 추가적으로 데이터가 저장된다. BATCH_JOB_EXECUTION Job의 실행정보가 저장된다. JOB_EXECUTION_ID : BATCH_JOB_EXECUTION 테이블의 PK, JOB_INSTANCE와 1:N 관..
Spring Batch 설정하기
Spring Batch Dependency 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-batch' } Batch 기능 활성화 어노테이션(@EnableBatchProcessing) @EnableBatchProcessing @SpringBootApplication public class SpringBatchApplication { public static void main(String[] args) { SpringApplication.run(SpringBatchApplication.class, args); } } 메인 클래스에 @EnableBatchProcessing을 붙이는 방법 설정 파일을 따로 만들어서 해..
Spring Batch 개념
공공 데이터 포털 Open API를 활용하여 개인 프로젝트를 진행한 적이 있습니다. 데이터의 최신성을 고려하여 일정 시간마다 open API를 호출하여 새로운 정보를 갱신하기 위해 Spring Scheduler를 공부하고 적용하였습니다. Spring Scheduler를 공부할 때 Spring Batch와 비교하며 설명하는 경우를 심심찮게 보게 되어 Spring Batch도 이참에 공부해야겠다 생각이 들어 포스팅하게 되었습니다. Spring Scheduler에 대해서 궁금하다면 아래 링크를 클릭 https://yeo-computerclass.tistory.com/417 일정 주기마다 작업 실행하는 Spring Scheduler 개인 프로젝트를 진행하면서 공공 데이터 포털 Open API를 활용하였습니다. ..