티스토리 뷰

Sping Framework

MonoSink

kkoon9 2022. 2. 4. 21:07

현재 진행중인 사이드 프로젝트에서 사용하는 WebFlux를 분석하면서 정리한 글입니다.

 

아무 값도 없거나 단일 값 또는 오류를 내보내지 않도록 실제 다운스트림 subscriber 주위에 Wrapper 인터페이스 API입니다.

void success();

값 없이 완료합니다.

이 메서드를 여러 번 호출하거나 다른 종료 메서드 이후에 호출해도 아무런 효과가 없습니다.

void success(@Nullable T value);

주어진 값(value)으로 이 Mono를 완성합니다.

이 메서드를 여러 번 호출하거나 다른 종료 메서드 이후에 호출해도 효과가 없습니다(값이 삭제됨).

value에 null 값을 넣어서 이 메서드를 호출하면 표준 구현에서 success()로 자동 호출됩니다.

void error(Throwable e);

지정된 예외(e)와 함께 종료합니다.

이 메서드를 여러 번 호출하거나 다른 종료 메서드 이후에 호출하는 작업은 지원되지 않습니다. Hooks.onErrorDropped(Consumer) 훅을 통해 예외를 무시합니다.

이는 예외를 숨겨지지 않기 위함입니다.

Context currentContext();

현재 subscriber 컨텍스트를 반환합니다.

컨텍스트는 Mono.ContextWrite(Function) 연산자를 통해 또는 CoreSubscriber.currentContext()를 재정의하는 하위 subscriber에 의해 직접 제공될 수 있습니다.

MonoSink<T> onRequest(LongConsumer consumer);

이 sink에 대한 요청을 알릴 LongConsumer를 이 MonoSink에 연결합니다.

Parameters:

consumer - 요청에 따라 호출할 Cosumer

Returns:

요청을 통지받는 Cosumer가 있는 MonoSink

MonoSink<T> onCancel(Disposable d);

이 MonoSink가 취소될 때 콜백으로 Disposable이 연결됩니다.

콜백은 최대 1개까지만 등록할 수 있습니다.

이 메서드에 대한 그 다음 호출은 관련 없는 Disposable을 즉시 폐기하게 됩니다.

콜백은 다운스트림 서브스크립션이 취소된 경우에만 적용됩니다.

Parameters:

d - 콜백으로 사용할 Disposable

Returns:

취소 콜백이 있는 MonoSink

MonoSink<T> onDispose(Disposable d);

이 MonoSink가 효과적으로 폐기될 때, 즉 더 이상 사용할 수 없는 경우에 대한 콜백으로 Disposable을 첨부합니다.

여기에는 OnComplete, onError onCancel 메서드가 모두 포함됩니다.

콜백은 최대 1개까지만 등록할 수 있습니다.

이 메서드에 대한 그 다음 호출은 관련 없는 Disposable을 즉시 폐기하게 됩니다.

"dispose" 용어는 sink의 관점에서 사용됩니다.

Subscription(Subscription.cancel() 신호) 처리에 사용되는 Mono.subscribe()의 Disposable.dispose() 메서드와 혼동하면 안됩니다.

Parameters:

d - 콜백으로 사용할 Disposable

Returns:

모든 터미널 신호 또는 취소 시 콜백이 포함된 MonoSink

'Sping Framework' 카테고리의 다른 글

Spring Boot에 Sentry 끼얹기 [1]  (0) 2022.03.26
Mono [1]  (0) 2022.02.04
webflux - RequestPredicate(interface)  (0) 2022.02.01
[Spring boot] 테스트 코드 작성  (0) 2020.02.14
[Spring boot] Spring boot 환경 설정하기  (0) 2020.02.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함