使用替换的RSocketFactory

问题描述

我一直在浏览一些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));
    }

}