티스토리 뷰
이번 글에서는 스프링 배치를 개발하던 중 필요한 내용들에 대한 레퍼런스를 모아보았습니다.
Spring Batch란?
- 스프링 배치는 벡엔드의 배치처리 기능을 구현하는 데 사용하는 프레임워크입니다.
배치는 스프링 배치 설정 요소들을 간편화시켜 빠르게 설정하는 데 도움을 줍니다.
Spring Batch 장점
1) 대용량 데이터 처리에 최적화되어 고성능을 발휘
2) 효과적인 로깅, 통계 처리, 트랜잭션 관리 등 재사용 가능한 필수 기능을 지원
3) 수동으로 처리하지 않도록 자동화되어 있습니다.
4) 예외사항과 비정상 동작에 대한 방어 기능 존재.
Spring Batch 단점
- 스케줄 기능 제공하지 않음
- 스케줄링을 위해 jenkins나, Quarz를 같이 사용
Spring Batch 개념
https://jojoldu.tistory.com/324
http://wiki.gurubee.net/pages/viewpage.action?pageId=4949437
*batch 실행 방법
https://jojoldu.tistory.com/325
*batch 메타 테이블 설명
- Spring Batch를 사용하기 위해서는 기본적으로 필요한 테이블이 있습니다
- bach core폴더안에 테이블 생성 스크립트가 들어 있습니다(schema-xxx-.sql db종류별로)
https://jojoldu.tistory.com/325
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:history_management
*@Scope와 jobparamter
- jobparameter를 사용하려면 @Scope를 사용해야 합니다
https://jojoldu.tistory.com/330
https://ahndy84.tistory.com/25
*@StepScope 사용시 주의 사항
https://jojoldu.tistory.com/132
Batch의 청크지향 처리
- 청크 지향 프로세싱은 트랜잭션 경계 내에서 청크 단위로 데이터를 읽고 생성하는 프로그래밍 기법입니다
- 청크란 item이 transaction에 commit되는 수를 말합니다
https://jojoldu.tistory.com/331
ItemReader
- batch 처리를 위해 데이터를 읽어옵니다
https://jojoldu.tistory.com/336
*itemProcessor
- 읽어온 데이터를 가공합니다, 필수는 아닙니다
https://jojoldu.tistory.com/347
*itemWriter
- 가공하거나, 읽어온 데이터를 입력하자
https://jojoldu.tistory.com/339
*pagingItemReader 사용시 주의 사항
https://jojoldu.tistory.com/166
https://jojoldu.tistory.com/337
*writer에 List전달하기
https://jojoldu.tistory.com/140
*bach의 분기처리
- 세부조건에 따라 step의 실행여부를 결정 할 수 있습니다
https://jojoldu.tistory.com/328
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:flow_control
bach의 listener
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:listener
*ExitStatus class
https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/core/ExitStatus.html
docs.spring.io
https://docs.spring.io/spring-batch/docs/current/reference/html/readersAndWriters.html
batch skip로직 동작방식
docs.spring.io
batch-processing (spring.io 가이드)
https://spring.io/guides/gs/batch-processing/
배달의 민족 우하한 스프링배치 후기
https://blog.deliwind.com/posts/210
모든 batch가 실행되지 않게 하는법(자동시작 방지)
jobparameter로 받을 수 있는 type
spring batch + spring boot java config example
https://howtodoinjava.com/spring-batch/java-config-multiple-steps/
spring batch properies
특정순서대로 job을 실행시키는 방법
'Server' 카테고리의 다른 글
[Java] ObjectMapper 를 사용한 Map to JSONObject (0) | 2021.10.26 |
---|---|
Batch 프로그램과 스케줄러 (0) | 2021.10.21 |
Spring Batch 의 Scope 영역 (0) | 2021.10.21 |
Vi / Vim 에서 줄 번호 보여주기 명령 (0) | 2021.09.01 |
[Java] Files와 Path를 사용한 파일 읽기 & 쓰기 개발하기 (0) | 2021.08.30 |
Linux Vim 전체 지우기 (0) | 2021.08.20 |