- 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 |