1

我一直在浏览一些 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 的人有没有机会帮助使用新的配置方法?

谢谢!

4

1 回答 1

4

由于 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));
    }

}
于 2020-08-25T01:24:55.503 回答