티스토리 뷰

Server

Spring Batch 관련 링크 모음

니용 2021. 10. 21. 11:51
반응형

이번 글에서는 스프링 배치를 개발하던 중 필요한 내용들에 대한 레퍼런스를 모아보았습니다. 

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.junu.dev/34

https://blog.deliwind.com/posts/210

 

모든 batch가 실행되지 않게 하는법(자동시작 방지)

https://cnpnote.tistory.com/entry/SPRING-Spring-Batch-Job%EC%9D%84-%ED%8A%B9%EC%A0%95-%EC%88%9C%EC%84%9C-Spring-Boot%EB%A1%9C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

jobparameter로 받을 수 있는 type

https://hodolman.com/17

 

spring batch + spring boot java config example

https://howtodoinjava.com/spring-batch/java-config-multiple-steps/

 

spring batch properies 

https://zetawiki.com/wiki/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8_SPRING_BATCH_%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0

 

특정순서대로 job을 실행시키는 방법

https://cnpnote.tistory.com/entry/SPRING-Spring-Batch-Job%EC%9D%84-%ED%8A%B9%EC%A0%95-%EC%88%9C%EC%84%9C-Spring-Boot%EB%A1%9C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

반응형
댓글
공지사항