首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webflux Webclient -增加我的Webclient超时时间(等待更多不稳定的服务)

Webflux Webclient -增加我的Webclient超时时间(等待更多不稳定的服务)
EN

Stack Overflow用户
提问于 2021-02-23 09:56:03
回答 2查看 53关注 0票数 0

关于Spring Webflux Webclient的一个小问题,以及如何增加客户端超时。

设置,我是客户端,我需要在web上使用第三方API。

众所周知,这个第三方API是不稳定的。对于相同的请求,相同的响应,有时需要1-2秒,有时超过4-5秒(主要是4-5秒的?)

但它是一个好的和重要的API,负载响应是非常重要的。

因此,我相信“多等一段时间”是值得的。

我能问一下怎么做吗?

经过调查,该第三方API确实收到了来自其VIP的约499个响应。

我相信这意味着“我不想等待”。但我真的想再等一等!

在看过Webclient API之后,我很难找到如何做到这一点。

目前,我正在构建我的WebClient:

代码语言:javascript
复制
WebClient.create().mutate().defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE, HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE).clientConnector(new ReactorClientHttpConnector(HttpClient.create().metrics(true, () -> new MicrometerChannelMetricsRecorder(SERVICE, HTTP)).wiretap(true).secure(sslContextSpec -> sslContextSpec.sslContext(getSslContextBuilder())))).build()

当前的默认超时时间是多少?

如何通过属性或代码增加?

类似于:

代码语言:javascript
复制
.setDefaultClientSideWaitTime() ?

非常感谢您的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-02 20:09:14

根据Netty团队的回答,它需要:

代码语言:javascript
复制
.responseTimeout(Duration.ofSeconds(10))

.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10 * 1000)

举一个等待10秒的例子

代码语言:javascript
复制
conn.addHandlerLast

.timeout(Duration.ofSeconds(10L))

是不需要的

票数 0
EN

Stack Overflow用户

发布于 2021-02-23 14:42:18

尝试在此处为WebTestClient设置responseTimeouthttps://stackoverflow.com/a/48655749/4725964

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66325962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档