- https://spring.io/guides/gs/batch-processing/
스프링 공식 홈페이지에 나와있는 quick start를 보고 따라하면서 정리.
spring batch 와 spring boot를 연동하고 프로세스 과정을 살펴보겟습니다.
batch로 데이터를 바꿔줄 sample 데이터를 추가한다.
ex>schema-mysql.sql
도메인 모델이 들어갈 클래스를 생성한다.
Item이 나오는데 Item은 처리할 데이터의 가장 작은 구성 요소 입니다.
ItemProcessor를 구현 받는 PersonItemProcessor는 item을 처리할 중요 비지니스 로직이 들어가 있는
클래스 입니다.
EnableBatchProcessing
은 jobBuilderFactory와 stepBuilderFactory 빈을 제공합니다.Step에서는 한번에 쓸 데이터 양을 정의 합니다. 이 경우에는 한번에 최대 10개 item의 record를 기록합니다.”chunk”의 입력 및 출력 유형을 나타내며, ItemReader<~>및 ItemWriter<~> 와 일치합니다.
아래 그림을 보면 위에 프로세스와 비슷하게 흘러가는걸 확인할수 있습니다.
- main 메소드가 있는 jar 만들거나
- 웹 애플리케이션에 포함시킨다.
jar 만드는 방법은 구글링 참고.
datasource에
— 기타 —
1. 쿼츠랑 스프링 스케줄러랑 무슨차이인가요? -P사 다니는 K모씨
Quartz와 Spring Scheduler의 차이.
Quartz
– 모든 Java 애플리케이션에 통합 할 수있는 오픈 소스 작업 스케줄 라이브러리.
– 수십, 수백 또는 심지어 수만 개의 작업을 실행하기위한 간단하거나 복잡한 일정을 만드는 데 사용할 수 있습니다.
– JTA 트랜잭션 및 클러스터링 지원과 같은 많은 엔터프라이즈 급 기능이 포함되어 있습니다
Spring Scheduler
– Spring은 또한 Timer와 JDK 1.3이후에 Quartz Scheduler와의 스케쥴링을 지원하기위한 통합 클래스를 제공한다.
->https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html
참고 :
'개발' 카테고리의 다른 글
hibernate warning 원인과 해결방법 (0) | 2018.11.09 |
---|---|
jwt(JSON Web Token) 토큰이란 (0) | 2018.09.11 |
Netflix MSA Client Side Load Balancing (Ribbon) - 3 (0) | 2018.09.06 |
Netflix MSA Service Discovery pattern (Eureka) - 2 (0) | 2018.09.06 |
Circuit Breaker (Hystrix) (0) | 2018.09.05 |