retry
-
에러 처리를 위한 OperatorSpring Reactive Web Application/Project Reactor 2023. 8. 6. 09:00
error error() Operator는 파라미터로 지정된 에러로 종료하는 Flux를 생성합니다. error() Operator는 Java의 throw 키워드를 사용해서 예외를 의도적으로 던지는 것 같은 역할을 하는데 주로 체크 예외(Checked Exception)를 캐치해서 다시 던져야 하는 경우 사용할 수 있습니다. Note. 체크 예외(Checked Exception) 체크 예외는 Java에서 Exception 클래스를 상속한 클래스들을 의미하며 try ~ catch 문으로 반드시 처리해야 되는 예외입니다. 다음은 Upstream에서 emit되는 숫자에 2를 곱한 값이 3의 배수가 되는 경우 Downstream으로 emit을 허용하지 않기 위해 error() Operator를 사용한 예제 코드입..
-
에러 처리 연산자BackEnd/RxJava 2023. 7. 8. 08:00
RxJava에서는 아래와 같이 try ~ catch 문을 사용할 수 없습니다. 아래 코드를 실행하면 catch 에서 Exception을 잡지 못하고 예외가 발생하는 것을 확인할 수 있습니다. package com.itvillage.chapter05.chapter0506; import com.itvillage.utils.LogType; import com.itvillage.utils.Logger; import com.itvillage.utils.TimeUtil; import io.reactivex.Observable; import java.util.concurrent.TimeUnit; public class CanNotUseTryCatchExample { public static void main(Stri..
-
26. RetryBackEnd/Spring Batch 2022. 1. 7. 20:13
Retry는 ItemProcess, ItemWriter에서 설정된 Exception이 발생했을 경우, 지정한 정책에 따라 데이터 처리를 재시도하는 기능입니다. 오류 발생 시 Chunk 단계의 처음부터 다시 시작하며, ItemReader에서 캐시로 저장한 값을 사용합니다. Retry 기능은 내부적으로 RetryPolicy를 통해 구현되어 있으며, Retry 가능 여부를 판별하는 기준은 다음과 같습니다. 1. 재시도 대상에 포함된 예외인지 여부 (retryableException) 2. 재시도 카운터를 초과 했는지 여부 (retryCount > retryLimit) RetryPolicy 재시도 정책에 따라 아이템의 retry 여부를 판단하는 클래스입니다. 기본적으로 제공하는 RetryPolicy 구현체들이 ..
-
24. FaultTolerantBackEnd/Spring Batch 2022. 1. 4. 22:50
Spring Batch는 Job 실행 중에 오류가 발생할 경우 장애를 처리하기 위한 기능을 제공하며 이를 통해 복원력을 향상시킬 수 있습니다. 오류가 발생해도 Step이 즉시 종료되지 않고 Retry 혹은 Skip 기능을 활성화 함으로써 내결함성 서비스가 가능하도록 합니다. FaultTolerant 구조는 청크 기반의 프로세스 기반 위에 Skip과 Retry 기능이 추가되어 재정의 되어 있습니다. Skip: ItemReader / ItemProcessor / ItemWriter에 적용할 수 있습니다. Retry: ItemProcessor / ItemWriter에 적용할 수 있습니다. API package io.springbatch.springbatchlecture; import lombok.Require..