问题描述
我一直在浏览一些RSocket演示和示例,以了解它们是如何工作的,但其中大多数往往具有过时的代码段。
例如,我有这个演示,碰巧不推荐使用RSocketFactory。
@Bean
RSocket rSocket () {
return RSocketFactory
.connect()
.dataMimeType(MimeTypeUtils.APPLICATION_JSON_VALUE)
.frameDecoder(PayloadDecoder.ZERO_copY)
.transport(TcpClientTransport.create(7000))
.start()
.block();
}
通过更多搜索,我发现它已被RSocketConnectorConfigurer
取代,但是我找不到新用法的示例代码。以前玩过RSocket的人是否有机会使用新方法进行配置?
谢谢!
解决方法
由于api的更改,我也面临着类似的问题。您可以使用此示例。
在此处查看更多信息-http://www.vinsguru.com/rsocket-integrating-with-spring-boot/
@Configuration
public class RSocketConfig {
@Bean
public RSocketStrategies rSocketStrategies() {
return RSocketStrategies.builder()
.encoders(encoders -> encoders.add(new Jackson2CborEncoder()))
.decoders(decoders -> decoders.add(new Jackson2CborDecoder()))
.build();
}
@Bean
public Mono<RSocketRequester> getRSocketRequester(RSocketRequester.Builder builder){
return builder
.rsocketConnector(rSocketConnector -> rSocketConnector.reconnect(Retry.fixedDelay(2,Duration.ofSeconds(2))))
.dataMimeType(MediaType.APPLICATION_CBOR)
.connect(TcpClientTransport.create(6565));
}
}