일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- xml
- SQLite
- SQL
- webflux
- Apache
- 외국인 노동자
- 개발자 이야기
- swift
- pdo
- bootstrap
- gradle
- Eclipse
- JavaFX
- RSocket
- Ajax
- WebClient
- maven
- angularjs
- Spring
- build tool
- php
- spring boot
- javadoc
- mybatis
- jquery
- Linux
- 일본
- Java
- Python
- node.js
- Today
- 122
- Total
- 3,456,555
슬기로운 개발자 생활
[Spring Web Reactive] 6. Reactive Libraries 본문
spring-webflux
는 reactor-core
에 의존하고, 그것을 내부적으로 사용하여 비동기 로직을 구성하고 Reactive Streams 지원을 제공한다. 일반적으로 WebFlux API는 Flux
, Mono
반환하고 (이들은 내부에서 사용되기 때문에) 입력으로 Reactive Streams Publisher
구현을 관용적으로 받을 수 있다. Flux
대 Mono
의 사용은 중요하다. 카디널리티 를 표현하는데 도움이 때문이다 - 예를 들어, 하나 또는 여러 개의 비동기 값이 예상되는지 여부, 그것은 결정을 위해 필수적이다(예를 들어, HTTP 메시지를 인코딩 또는 디코딩하는 경우).
어노테이션이 선언된 컨트롤러의 경우 WebFlux는 응용 프로그램에 의해 선택된 리액티브 라이브러리에 투명하게 적응한다. 이는 ReactiveAdapterRegistry
의 도움으로 이루어진다. ReactiveAdapterRegistry은 리액티브 라이브러리와 다른 비동기 플러그 가능한 지원을 제공한다. 레지스트리에는 RxJava 2/3, RxJava 1(RxJava Reactive Streams 브리지 공유) 및 CompletableFuture
의 지원이 포함되어 있지만, 다른 사용자도 등록할 수 있다.
Spring Framework 5.3 이상, RxJava 1 지원은 폐지되었다.
함수 API ( 함수 엔드 포인트, WebClient
등)의 경우, WebFlux API의 일반 규칙이 적용된다. 반환 값으로서 Flux
와 Mono
입력, Reactive Streams Publisher
. Publisher
가 사용자 정의 또는 다른 리액티브 라이브러리에서 제공되는 경우, 알 수 없는 시멘틱스 (0..N)를 가진 스트림으로으로만 다른 수 있다. 다만 시멘틱스를 알고 있는 경우는 Publisher
를 그대로 전달하는 대신에 Flux
나 Mono.from(Publisher)
로 래핑 할 수 있다.
예를 들어, Mono
가 아닌 Publisher
를 지정하면, Jackson JSON 메시지 라이터는 여러 값을 예상한다. 미디어 유형이 무한 스트림(application/json+stream
등)을 의미하는 경우, 값은 개별적으로 기록되고 플래시된다. 그렇지 않으면 값은 목록에 버퍼링된 JSON 배열로 렌더링된다.
'IT 개발 > Spring Web Reactive' 카테고리의 다른 글
[Spring Web Reactive] 5. RSocket - 5.4. MetadataExtractor (0) | 2021.04.13 |
---|---|
[Spring Web Reactive] 5. RSocket - 5.3. Annotated Responders (0) | 2021.04.13 |
[Spring Web Reactive] 5. RSocket - 5.2. RSocketRequester (0) | 2021.04.13 |
[Spring Web Reactive] 5. RSocket - 5.1. 개요 (0) | 2021.04.13 |
[Spring Web Reactive] 5. RSocket (0) | 2021.04.13 |