Netty Spring webflux |让连接无限期保持活动状态
我们需要保持连接无限期地打开,并在服务器响应未找到或出现任何错误时重新连接 我们正在考虑使用IdleStateHandler和HeartbeatHandler来实现相同的功能,但是在编写代码时有困难。有人能帮我们编写伪代码吗?或者有人能帮我们实现同样的功能吗。这就是我们目前所拥有的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
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。我们在互联网上查看是否有人使用过这些处理程序,但找不到任何伪代码。如果目标服务器重新启动并且需要重新打开连接,我们该如何处理?