Spring 6 中的 RSocket 接口
1、概览 本文将带你了解如何在 Spring 6 中使用 RSocket。
随着 Spring 6 引入声明式 RSocket 客户端,使用 RSocket 变得更加简单。这一功能消除了重复的模板代码,使开发人员能够更高效地使用 RSocket。
2、Maven 依赖 首先,创建 Spring Boot 项目,并在 pom.xml 文件中添加 spring-boot-starter-rsocket 依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-rsocket</artifactId> <version>3.1.4</version> </dependency> 3、创建 RSocket Server 首先,创建一个 responder(应答器),通过 Controller 来管理传入的请求:
@MessageMapping("MyDestination") public Mono<String> message(Mono<String> input) { return input.doOnNext(msg -> System.out.println("Request is:" + msg + ",Request!")) .map(msg -> msg + ",Response!"); } 接着,在 application.properties 文件中添加以下属性,以在 7000 端口启动服务( MyDestination):
spring.rsocket.server.port=7000 4、客户端 现在,开发客户端。为了简单起见,我们在同一个项目中创建客户端,但将其放在一个单独的包中。实际开发中,它们应该放在一个单独的项目中。
创建客户端接口:
public interface MessageClient { @RSocketExchange("MyDestination") Mono<String> sendMessage(Mono<String> input); } 在使用客户端接口时,通过 @RSocketExchange 来指定 RSocket 端点。基本上,这意味着我们需要一些信息来建立端点路径。可以在接口级别上通过分配一个共享路径来实现。这非常简单,帮助我们知道要使用哪个端点。