Netty Spring webflux |让连接无限期保持活动状态

Netty Spring webflux |让连接无限期保持活动状态,netty,spring-webflux,reactor-netty,spring-webclient,Netty,Spring Webflux,Reactor Netty,Spring Webclient,我们需要保持连接无限期地打开,并在服务器响应未找到或出现任何错误时重新连接 我们正在考虑使用IdleStateHandler和HeartbeatHandler来实现相同的功能,但是在编写代码时有困难。有人能帮我们编写伪代码吗?或者有人能帮我们实现同样的功能吗。这就是我们目前所拥有的 ConnectionProvider elasticPool = ConnectionProvider.elastic("productDef-pool"); HttpClient h

我们需要保持连接无限期地打开,并在服务器响应未找到或出现任何错误时重新连接

我们正在考虑使用IdleStateHandler和HeartbeatHandler来实现相同的功能,但是在编写代码时有困难。有人能帮我们编写伪代码吗?或者有人能帮我们实现同样的功能吗。这就是我们目前所拥有的

        ConnectionProvider elasticPool = ConnectionProvider.elastic("productDef-pool");
        HttpClient httpClient = HttpClient
                .create(elasticPool)
                .keepAlive(true)
                .tcpConfiguration(tcpClient ->
                        tcpClient.doOnConnected(connection -> {
                            if (connection.channel().pipeline().get("write_timeout") == null)
                                connection
                                        .channel()
                                        .pipeline()
                                        .addFirst("write_timeout", new WriteTimeoutHandler(10, TimeUnit.MINUTES));
                            if (connection.channel().pipeline().get("read_timeout") == null)
                                connection
                                        .channel()
                                        .pipeline()
                                        .addFirst("read_timeout", new ReadTimeoutHandler(10, TimeUnit.MINUTES));
                        }))
                .wiretap(true);

        return WebClient.builder()
                .clientConnector(new ReactorClientHttpConnector(httpClient))
                .defaultHeader("Authorization", "1")
                .defaultHeader("Trace_Id", "3")
                .defaultHeader("Span_Id", "4")
                .defaultHeader("Accept", "application/json")
                .filter(hmacHeaderExchangeFilter)
                .baseUrl("https://productdef-dev.test.com")
                .build();

但是编写代码有困难
什么是困难的,你是否遇到了错误、异常、什么意外行为、日志,你只是说你有问题,而不是实际问题是什么。我们不确定如何添加idlestatehandler和heartbeathandler。我们在互联网上查看是否有人使用过这些处理程序,但找不到任何伪代码。如果目标服务器重新启动,我们需要重新打开连接,我们该如何处理?
但是在编写代码时有困难
什么是困难的,您是否遇到错误、异常、什么意外行为、日志,您只说您有问题,,但问题并不在于此,我们不确定如何添加idlestatehandler和heartbeathandler。我们在互联网上查看是否有人使用过这些处理程序,但找不到任何伪代码。如果目标服务器重新启动并且需要重新打开连接,我们该如何处理?