Backend Develop/Spring Framework

[Spring] Spring Batch & Qaurtz

Soondo.Kwon 2022. 1. 22. 20:18

Spring Batch와 Quartz Scheduler를 이용한 배치 개발

  • Spring Batch
    로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 작업 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공한다. 또한 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술을 제공한다.
    Spring Batch는 작업 실패 시, 기본적으로 작업 재시작을 하는데 처음부터가 아닌 실패한 지점부터 시작을 하게 된다. (배치 재시작에 대해서는 다양한 패턴을 적용 가능하다)
    또한 중복 실행을 막히 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행할 경우 에러가 발생한다.

  • Quartz Scheduler
    Qaurtz Scheduler는 완전히 Java로 개발되어 어느 Java 프로그램에도 쉽게 통합이 되어 개발이 가능한 Job Scheduling 라이브러리이다. Quartz는 수 십에서 수 천 개의 작업이 실행 가능하며 간단한 Interval 형식이나 Crontab 형식의 복잡한 스케쥴링을 지원한다.

 

참고사이트


 

[Spring Batch]

https://khj93.tistory.com/entry/Spring-Batch%EB%9E%80-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
 

Spring Batch란? 이해하고 사용하기(예제소스 포함)

들어가기 앞서.. Spring Batch에는 굉장히 많은 설정과 기능들이 존재합니다. 해당 포스팅에서는 기초적인 Spring Batch에 대해서 설명하고 사용하는 예제에 대해서 설명을 하려고 합니다. Spring Batch를

khj93.tistory.com

https://freedeveloper.tistory.com/16

 

[Spring Batch] 4. Spring Batch 가이드 - Spring Batch Job Flow

Spring Batch 가이드 - Spring Batch Job Flow Step: 실제 Batch 작업을 수행하는 역할 Batch로 실제 처리하고자 하는 기능과 설정을 모두 포함하는 장소 앞의 step에서 오류가 나면 나머지 뒤에 있는 step 들은..

freedeveloper.tistory.com

[Quartz]

https://advenoh.tistory.com/51

 

Quartz Job Scheduler란?

Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 Quartz Job Scheduler에 대한 내용은 여러 시리즈 형식으로 작성을 하

advenoh.tistory.com