Java Reactor onErrorContinue 이모저모 : NHN Cloud Meetup
NHN Cloud Meetup
최근에 Spring Webflux 기반으로 프로젝트를 진행하다가 평소 궁금했던 onErrorContinue 라는 연산자를 사용해 보았습니다.
테스트 코드를 작성하여 테스트를 진행해보니
onErrorContinue 가 제가 의도한것과 동작이 좀 다른듯 하여 조사를 해보았는데
NHN Cloud 기술 블로그에서 이에 대해 자세히 정리한 글을 찾게 되어 공유드립니다.
저도 그랬지만 onErrorContinue 연산자는 이름에서 유추할 수 있듯이 스트림에 에러가 발생하더라도 이를 무시하고 계속 로직을 진행할 수 있게 해 주는 연산자이지만, 다른 연산자와는 다른 독특한 특징이 하나 더 숨어 있습니다.
바로 일반적인 Reactor 연산자들이 다운스트림에 영향을 주는것과 달리 업스트림에도 영향을 줄 수 있다는 점인데요,
이로 인해 onErrorContinue 연산자를 선언할 경우 업/다운 스트림에 존재하는 모든 에러 연산자를 무시하게 됩니다.
뿐만 아니라 RetryWhen 과 onErrorContinue 를 같이 사용할 경우
reactor-core 3.4.25, spring-boot-starter-webflux 2.7.6 버전 이하에서는 스트림이 끝나지 않는 버그도 존재한다고 합니다.
이에 대한 자세한 설명은 공유드린 원문 링크를 참고해주시기 바랍니다.
📚 원문
https://meetup.nhncloud.com/posts/374
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 4월 30일 오후 2:16