Spring Boot: поддержка Spring Messaging RSocket

Spring Boot автоматически настроит инфраструктуру Spring Messaging для RSocket.

Это означает, что Spring Boot создаст bean-компонент RSocketMessageHandler, который будет обрабатывать запросы RSocket к вашему приложению.

Вызов сервисов RSocket с помощью RSocketRequester

Как только канал RSocket установлен между сервером и клиентом, любая сторона может отправлять или получать запросы другой стороне.

Как сервер, вы можете получить инъекцию экземпляра RSocketRequester в любой метод-обработчик RSocket @Controller. Как клиент, вы должны сначала настроить и установить соединение RSocket. Spring Boot автоматически настраивает RSocketRequester.Builder для таких случаев с ожидаемыми кодеками.

Экземпляр RSocketRequester.Builder является bean-прототипом, то есть каждая точка внедрения предоставит вам новый экземпляр. Это сделано специально, так как этот Builder с сохранением состояния и не следует создавать requesters с разными настройками, используя один и тот же экземпляр.

Следующий код показывает типичный пример:

@Service
public class MyService {

    private final Mono<RSocketRequester> rsocketRequester;

    public MyService(RSocketRequester.Builder rsocketRequesterBuilder) {
        this.rsocketRequester = rsocketRequesterBuilder
                .connectTcp("example.org", 9898).cache();
    }

    public Mono<User> someRSocketCall(String name) {
        return this.rsocketRequester.flatMap(req ->
                    req.route("user").data(name).retrieveMono(User.class));
    }

}


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки