怎么在SpringBoot中创建一个RSocket服务器

  介绍

这期内容当中小编将会给大家带来有关怎么在SpringBoot中创建一个RSocket服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

首先,检查是否安装了以下必备组件:

<李>

Java8或更高版本的JavaSDK(要检查,请在终端使用java版本)

<李>

一个工作的javaide(我正在使用IntelliJ IDEA)

<李>

包含克隆或提取的演示代码示例的文件夹。

<李>

Linux Bash/ZSH壳(如果您是Windows用户,请查看下面的注释)

如果您是Windows用户,请切换到微软针对Linux的Windows子系统。

现在,将下载的项目文件夹设置为终端中的当前目录:

cd  spring-rsocket-demo

在终端中,下载JAR文件如下:

cd  rsocket-server   wget  -O  rsc.jar  https://github.com/making/rsc/releases/download/0.4.2/rsc-0.4.2.jar

稍后您将使用此客户机与RSocket服务器进行对话,但现在,通过如下方式调用帮助命令来测试它是否正常工作:

java  -jar  rsc.jar ——帮助

您应该会看到下面这样的一些输出(我已经截断了),解释了命令的用法和选项。

用法:,rsc  Uri [选项]      Non-option 参数:   (字符串:Uri)      Option ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,描述   - - - - - -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,- - - - - - - - - - - -   ——channel ,,,,,,,,,,,,,,,,,,,,,,,,,, Shortcut  of ——我REQUEST_CHANNEL   - d,——data (字符串),,,,,,,,,,,,,,,,,数据只Use  & # 39; & # 39;用read  data 从      …

把这个终端窗口开着,你以后会需要的。

步骤2:检查服务器代码

在IDE中打开rsocket服务器项目并检查代码。如您所见,在springboot中支持rsocket服务器所需的代码非常少。以下是一些亮点:

<强>项目文件

在项目的砰的一声。xml文件中,您可以看到弹簧引导RSocket服务器所需的& lt; dependencies>。之所以使用SpringBootVersion2.2.5.RELEASE,是因为在撰写本文时,该版本具有最适合生产的RSocket特性。该项目还依赖于lombok和springbootstartersocket库.Lombok为Java数据类添加了构造函数,getter、setter和等于,还简化了对日志等内容的访问.RSocket的springbootstarter将RSocket与springboot集成在一起,并在运行时自动为您配置一些RSocket基础设施。

<强>应用程序属性

在应用程序。属性文件中,RSocket服务器的TCP端口被设置为7000年春季引导的延迟初始化功能被打开。

spring.rsocket.server.port=7000   spring.main.lazy-initialization=true

<强>消息类

第一个更详细的类叫做消息。java。这个Lombok@Data类用于对客户机和服务器(或者“请求者”和“应答”,如果您愿意的话)之间的请求和响应消息进行建模。这个类看起来像这样…

@ data   @AllArgsConstructor   @NoArgsConstructor   public  class  Message  {   ,,,private  String 来源;   ,,,private  String 互动;   ,,,private  long 指数;   ,,,private  long  created =, Instant.now () .getEpochSecond ();      ,,,public 消息(String 起源,String 交互),{   ,,,,,,,this.origin =,起源;   ,,,,,,,this.interaction =,互动;   ,,,,,,,this.index =, 0;   ,,,}      ,,,public 消息(String 起源,String 互动,,long 指数),{   ,,,,,,,this.origin =,起源;   ,,,,,,,this.interaction =,互动;   ,,,,,,,this.index =,指数;   ,,,}   }

使用这个类,您可以说一条消息来自何处(它的来源),它打算使用哪种消息传递样式(交互),以及消息序列中的序列号(它的索引).Lombok通过提供构造函数,getter、setter, toString和hashcode实现来简化代码。

<>强控制器类

RSocket服务器控制器代码可以在RSocketController。java文件中找到。这个类被注释为Spring@Controller,这本质上意味着它声明了服务端点(在本例中为RSocket端点)。

@ controller   public  class  RSocketController  {      ,,,@MessageMapping (“request-response")   ,,,Message  requestResponse (Message 请求),{   ,,,,,,,,,,,log.info (“Received  request-response 要求:,{},,,请求);   ,,,,,,,,,,,//,create  a  single  Message 以及return 它   ,,,,,,,,,,,return  new 信息(服务器,响应);   ,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在SpringBoot中创建一个RSocket服务器