일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- gradle
- 외국인 노동자
- Java
- jquery
- Eclipse
- JavaFX
- Linux
- SQLite
- swift
- javadoc
- SQL
- Spring
- Apache
- spring boot
- Ajax
- mybatis
- 개발자 이야기
- pdo
- RSocket
- Python
- build tool
- WebClient
- node.js
- php
- maven
- bootstrap
- webflux
- angularjs
- Today
- 122
- Total
- 3,456,555
목록전체 글 (471)
슬기로운 개발자 생활

spring-webflux는 reactor-core에 의존하고, 그것을 내부적으로 사용하여 비동기 로직을 구성하고 Reactive Streams 지원을 제공한다. 일반적으로 WebFlux API는 Flux, Mono 반환하고 (이들은 내부에서 사용되기 때문에) 입력으로 Reactive Streams Publisher 구현을 관용적으로 받을 수 있다. Flux 대 Mono의 사용은 중요하다. 카디널리티 를 표현하는데 도움이 때문이다 - 예를 들어, 하나 또는 여러 개의 비동기 값이 예상되는지 여부, 그것은 결정을 위해 필수적이다(예를 들어, HTTP 메시지를 인코딩 또는 디코딩하는 경우). 어노테이션이 선언된 컨트롤러의 경우 WebFlux는 응용 프로그램에 의해 선택된 리액티브 라이브러리에 투명하게 적응한..

응답자는 메타 데이터를 해석해야 한다. 복합 메타 데이터는 고유의 MIME 타입을 사용하여 개별적으로 포맷 된 메타 데이터 값(라우팅, 보안, 추적 등)을 사용할 수 있다. 응용 프로그램은 지원하는 메타 데이터 MIME 유형을 구성하는 방법과 추출 된 값에 액세스하는 방법이 필요한다. MetadataExtractor는 직렬화 된 메타 데이터를 검색하고, 디코딩된 이름 및 값 쌍으로 반환하도록 되어 있다. 명명된 헤더처럼, 예를 들어 어노테이션이 선언된 핸들러 메소드의 @Header를 통해 액세스 할 수 있다. DefaultMetadataExtractor에 Decoder 인스턴스를 제공하여, 메타 데이터를 디코딩 할 수 있다. 즉시 사용 가능한 "message/x.rsocket.routing.v0" 내장 ..

RSocket 응답자는 @MessageMapping와 @ConnectMapping 메소드로 구현할 수 있다. @MessageMapping 메소드는 개별 요청을 처리하고, @ConnectMapping 메소드가 연결 레벨의 이벤트(설치 및 메타 데이터 푸시)를 처리한다. 어노테이션이 선언된 응답자는 서버 측에서 응답과 클라이언트 측에서 응답을 위해 대칭적으로 지원된다. 5.3.1. 서버 응답자(Server Responders) 서버 측 어노테이션이 선언된 응답자를 사용하려면, RSocketMessageHandler를 Spring 설정에 추가하여 @MessageMapping와 @ConnectMapping 메소드에서 @Controller Bean을 검색한다. Java @Configuration class Ser..

RSocketRequester는 RSocket 요청을 실행하기 위한 능숙한 API를 제공하고, 낮은 레벨의 데이터 버퍼가 아닌 데이터와 메타 데이터 객체를 받아들이고 반환한다. 대칭적으로 사용하여 클라이언트에서 요청을 만들거나 서버에서 요청을 만들 수 있다. 5.2.1. 클라이언트 요청자(Client Requester) 클라이언트에서 RSocketRequester을 받으려면 서버에 연결한다. 여기에는 연결 설정을 포함한 RSocket SETUP 프레임의 전송이 포함된다. RSocketRequester는 SETUP 프레임의 연결 설정을 포함한 io.rsocket.core.RSocketConnector의 준비를 위한 빌더를 제공한다. 이는 디폴트로 연결하는 가장 기본적인 방법이다. Java RSocketRe..

RSocket는 TCP, WebSocket, 그외에 다른 바이트 스트림 전송을 통해 다중화된 이중 통신 응용 프로그램 프로토콜이며, 다음의 상호 작용 모델 중 하나를 사용한다. Request-Response - 하나의 메시지를 보내고 하나를 받는다. Request-Stream - 하나의 메시지를 보내고 메시지 스트림을 수신한다. Channel - 메시지 스트림을 양방향으로 전송한다. Fire-and-Forget - 단방향 메시지를 보낸다. 최초 연결이 설정되면, 양쪽이 대칭이 되고, 각 측면이 상기 상호 작용 중 하나를 시작할 수 있기 때문에 '클라이언트'와 '서버'의 구별이 없어진다. 이 프로토콜에 참가 측을 "요청자"와 "응답자"라고 부르고, 위의 상호 작용을 "요청 스트림(request stream..

이번 섹션에서는 Spring Framework의 RSocket 프로토콜 지원에 대해 설명한다. 5. RSocket 5.1. 개요 5.2. RSocketRequester 5.3. Annotated Responders 5.4. MetadataExtractor

Spring MVC에서도 동일 spring-test 모듈은 ServerHttpRequest, ServerHttpResponse, ServerWebExchange의 모의(mock) 구현체을 제공한다. 모의 객체에 대한 설명은 Spring Web Reactive을 참조해라. WebTestClient는 이러한 모의 요청 및 응답 객체에 내장된 HTTP 서버 없이 WebFlux 응용 프로그램의 테스트를 지원한다. end-to-end의 통합 테스트에도 WebTestClient을 사용할 수 있다.

서블릿 스택과 같은 Spring Framework는 WebSocket 메시지를 처리하는 클라이언트 측 및 서버 측 응용 프로그램을 만드는데 사용할 수 있는 WebSocket API를 제공한다. 3.2.1. 서버 서블릿 스택과 같은 WebSocket 서버를 만들려면, 먼저 WebSocketHandler를 만들 수 있다. 다음의 예는 그 방법을 보여준다. Java import org.springframework.web.reactive.socket.WebSocketHandler; import org.springframework.web.reactive.socket.WebSocketSession; public class MyWebSocketHandler implements WebSocketHandler { @Ov..