(window.webpackJsonp=window.webpackJsonp||[]).push([[492],{921:function(e,t,o){"use strict";o.r(t);var n=o(56),c=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"rsocket-支持"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#rsocket-支持"}},[e._v("#")]),e._v(" RSocket 支持")]),e._v(" "),o("h2",{attrs:{id:"rsocket-支持-2"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#rsocket-支持-2"}},[e._v("#")]),e._v(" RSocket 支持")]),e._v(" "),o("p",[e._v("RSocket Spring 集成模块("),o("code",[e._v("spring-integration-rsocket")]),e._v(")允许执行"),o("a",{attrs:{href:"https://rsocket.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("RSocket 应用程序协议"),o("OutboundLink")],1),e._v("。")]),e._v(" "),o("p",[e._v("你需要在项目中包含此依赖项:")]),e._v(" "),o("p",[e._v("Maven")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v("\n org.springframework.integration\n spring-integration-rsocket\n 5.5.9\n\n")])])]),o("p",[e._v("Gradle")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('compile "org.springframework.integration:spring-integration-rsocket:5.5.9"\n')])])]),o("p",[e._v("该模块从版本 5.2 开始可用,并且基于 Spring 消息传递基础及其 RSocket 组件实现,例如"),o("code",[e._v("RSocketRequester")]),e._v(","),o("code",[e._v("RSocketMessageHandler")]),e._v("和"),o("code",[e._v("RSocketStrategies")]),e._v("。有关 RSocket 协议、术语和组件的更多信息,请参见"),o("a",{attrs:{href:"https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#rsocket",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spring Framework RSocket Support"),o("OutboundLink")],1),e._v("。")]),e._v(" "),o("p",[e._v("在通过通道适配器启动集成流处理之前,我们需要在服务器和客户机之间建立一个 RSocket 连接。为此, Spring 集成 RSocket 支持提供了"),o("code",[e._v("ServerRSocketConnector")]),e._v("和"),o("code",[e._v("ClientRSocketConnector")]),e._v("的"),o("code",[e._v("AbstractRSocketConnector")]),e._v("实现。")]),e._v(" "),o("p",[o("code",[e._v("ServerRSocketConnector")]),e._v("根据提供的"),o("code",[e._v("io.rsocket.transport.ServerTransport")]),e._v("在主机和端口上公开一个侦听器,用于接受来自客户端的连接。可以使用"),o("code",[e._v("setServerConfigurer()")]),e._v("自定义内部"),o("code",[e._v("RSocketServer")]),e._v("实例,以及可以配置的其他选项,例如。"),o("code",[e._v("RSocketStrategies")]),e._v("和"),o("code",[e._v("MimeType")]),e._v("用于负载数据和标头元数据。当一个"),o("code",[e._v("setupRoute")]),e._v("是从客户端请求者提供的(参见下面的"),o("code",[e._v("ClientRSocketConnector")]),e._v(")时,一个连接的客户端被存储为"),o("code",[e._v("RSocketRequester")]),e._v("在由"),o("code",[e._v("clientRSocketKeyStrategy``BiFunction