这期内容当中小编将会给大家带来有关怎么在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服务器