Spring/Batch5 Spring Batch Quartz(쿼츠) 로 배치 스케줄링 하기 - Spring Quartz(쿼츠)란?스프링 배치 쿼츠는 스프링 배치와 쿼츠(Quartz)를 결합하여 스케줄링된 작업을 관리하고 실행하는 방식이다.스프링 배치는 데이터 처리 및 대용량 작업을 처리하기 위한 프레임워크이고, 쿼츠는 자바 기반의 스케줄링 프레임워크이다.이 두 가지를 결합하면 특정 시간에 스프링 배치 작업(Job)을 실행하도록 스케줄링할 수 있다. 스프링 배치 자체는 데이터 처리의 배치 작업을 담당하지만, 작업 실행 시점을 정하는 기능은 기본 제공하지 않는데이를 보완하기 위해, 쿼츠를 사용하여 특정 시간에 배치 작업을 실행할 수 있다. - 쿼츠와 스케줄링의 차이쿼츠와 스케줄링은 유사한 개념으로 보이지만, 세부적으로는 다음과 같은 차이가 있다.쿼츠(Quartz):자바에서 사용할 수 있는 강력한 .. 2024. 10. 7. Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(3) - 실패한 작업 제어 Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(1) - 실패한 작업 제어Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(2) - 실패한 작업 제어 Spring Batch의 Skip에 이어 Retry에 대해 작성한다. Retry 특정 예외가 발생했을때 재시도를 수행할 수 있으며, 이를 이용해 네트워크 지연, 타임아웃과 같은 일시적인 문제를 해결하여 불필요한 실패를 방지할 수 있다.스프링 배치의 Retry는 Spring Retry 모듈과 통합되어 있어, 복잡한 재시도 로직도 유연하게 구성할 수 있다.Retry의 프로세스는 ItemProcessor에서는 Skip과 동일하고, ItemWriter에서는 Skip의 경우에는 한건씩 처리가 되었었지만,Retr.. 2024. 9. 30. Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(2) - 실패한 작업 제어 Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(1) - 실패한 작업 제어 Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(1) - 실패한 작업 제어스프링 배치의 Step을 실행하는 도중특정 요인 ( Ex) 일시적 네트워크 지연, 처리 도중 상태 변경 등 ) 에 따라 작업이 실패하는 경우가 발생한다.스프링 배치는 이를 해결하기 위해 Spring의 Retry와 Sanianidindin.tistory.com 지난 글에서는 재시도 로직의 흐름을 이해하기 위해 Repeat과 FaultTolerant 그리고 Stpe의 흐름에 대한 내용을 작성 했었다.이번 글은 스프링 배치 청크 방식에서 실패한 작업에 대한 Skip에 대한 글을 이어서 작성하고Retry에 대한 .. 2024. 9. 26. Spring Batch(스프링배치) Chunk방식의 Repeat과 Skip(1) - 실패한 작업 제어 스프링 배치의 Step을 실행하는 도중특정 요인 ( Ex) 일시적 네트워크 지연, 처리 도중 상태 변경 등 ) 에 따라 작업이 실패하는 경우가 발생한다.스프링 배치는 이를 해결하기 위해 Spring의 Retry와 Skip을 제공하고 있다. 먼저 Retry와 Skip을 사용하기 전에연관 관계가 있는 FaultTolerant와 Repeat을 알고 시작해야 한다. Repeat Repeat는 작업이 성공하거나 특정 조건이 만족될 때까지 작업을 반복하는 기능으로, Retry와 Skip과 함께 사용된다.이를 통해 작업이 실패했을 때 다시 시도하거나 건너뛰면서도, 설정된 완료 정책에 따라 반복을 제어한다.RepeatOperations는 이러한 반복 로직을 제어하는 인터페이스로, RepeatTemplate가 기본 .. 2024. 9. 24. Spring Batch(스프링배치) 5.1.x 버전 시작하기 스프링 배치에 대한 개인적인 테스트 및 궁금했던 부분을 실험 하고자 스프링 배치 프로젝트를 생성하기로 했다. Spring Batch 5.1의 주요 테마는 JDK21 LTS를 수용하는 부분이라고 공식 문서에 작성 되어 있기 때문에추후 더 많은 테스트와 확장성을 고려해 JAVA 버전은 21 버전을 사용하기로 선택 했다.(최소 JAVA 17 이상은 사용 해야 한다) 먼저 배치를 생성하기 전에 배치를 사용하기 위해 필요한 Job, Steb, 메타테이블에 대한 개념만 간단하게정리 하고 프로젝트를 구성하도록 한다. Spring Batch는 JVM에서 대규모 데이터를 효율적으로 처리하기 위한 배치 처리 표준.주로 데이터를 청크 단위로 읽고, 처리하고, 쓰는 청크 기반 처리와분할 처리(partitioning) 같은 일.. 2024. 9. 23. 이전 1 다음