Spring Boot Batch (feat.jpa)

2509 단어 SpringSpring

이전에 구성했던 스프링 배치 프로젝트를 갈아 엎었다
원하는 모델은 동적인 방법으로 스케쥴관리가 가능한 모델이다
새로운 샘플 정보를 받았고, 기술 검토해보겠다

"오히려 좋아"

#Schema-Mysql.sql

이 데이터베이스 테이블을 제공하고 있고, jpa를 통해서 사용 가능하다
정말 다 해준다. 내부적으로 동작하니 원리를 모르면 개발도 어렵다

#New Project


위와 같이 Spring initializr 해주고 시작. 나머지는 나중에 DI

#simpleJobConfig.java

`java

@Slf4j 
@RequiredArgsConstructor 
@Configuration
public class SimpleJobConfig {
private final JobBuilderFactory jobBuilderFactory; 
private final StepBuilderFactory stepBuilderFactory; 

@Bean
public Job simpleJob(){
    return jobBuilderFactory.get("simpleJob")
            .start(simpleStep1(null))
            .build();
}

@Bean
@JobScope
public Step simpleStep1(@Value("#{jobParameters[requestDate]}") String requestDate){
    return stepBuilderFactory.get("simpleStep1")
            .tasklet((contribution, chunkContext) -> {
                log.info(">>>>> This is Step1");
                log.info(">>>>> requestDate = {}", requestDate);
                return RepeatStatus.FINISHED;
            })
            .build();
}
}

`

파라미터 정보는 program arguments로 설정해주어야 한다

  • 파라미터 키 값으로 instants 등록된다

#application.properties

Datasource 정보 입력

#실행 확인

DB 확인 해본 결과, JPA로 Meta Data Table에 데이터를 확인할 수 있다

#Guide

https://github.com/spring-projects/spring-batch
https://github.com/spring-projects/spring-batch/blob/main/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql
https://docs.spring.io/spring-batch/docs/current/reference/html/schema-appendix.html

좋은 웹페이지 즐겨찾기