【WebClient】客户端HTTP 超时配置

这篇具有很好参考价值的文章主要介绍了【WebClient】客户端HTTP 超时配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


背景

1、项目升级到Springboot3,使用WebFlux自带的WebClient作为HTTP客户端
2、接口类客户端方式调用外部服务,默认超时5S
3、需根据业务动态修改超时时间,如60S
报错如下:
java.lang.IllegalStateException: Timeout on blocking read for 5000000000 NANOSECONDS


博客内容精选:
1、Servlet请求体重复读&修改新姿势
2、根据请求获取后端接口详情
3、封装Springboot项目的starter-sdk新方式
4、Springboot全局处理完整版
5、itextpdf读取文本时上下行位置错乱
6、JAVA读取PDF表格内容

一、代码示例

@Bean
public Inferface interfaceStreamApi() {
	WebClient client = WebClient.builder().baseUrl(baseAddress).build();
	HttpServiceProxyFactory factory = HttpServiceProxyFactory.builder(WebClientAdapter.forClient(client)).blockTimeout(Duration.ofSeconds(60)).build();
	return factory.createClient(Inferface.class);
}

总结

接口方式使用WebClient创建HTTP请求,底层使用reactor-core中的Mono方式请求,无法直接配置Mono的超时时间。HttpServiceProxyFactory为封装最上层,blockTimeout配置亲测有效,初始使用reactor.netty.http.client.HttpClient.responseTimeout配置超时无效(版本回退+1)文章来源地址https://www.toymoban.com/news/detail-531301.html

到了这里,关于【WebClient】客户端HTTP 超时配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud - HTTP 客户端 Feign 、自定义配置、优化、最佳实践

    目录 一、OpenFeign 是什么,有什么用呢? 二、OpenFeign 客户端的使用 2.1、远程调用 1.引入依赖 2.在order-service(发起远程调用的微服务)的启动类添加注解开启Feign的功能 3.编写 OpenFeign 客户端 4.通过 OpenFeign 客户端发起远程调用 2.2、自定义 OpenFeign 配置 1.配置文件方式 2.j

    2024年02月16日
    浏览(42)
  • WebClient,HTTP Interface远程调用阿里云API

     HTTP Interface Spring 允许我们通过定义接口的方式,给任意位置发送 http 请求,实现远程调用,可以用来简化 HTTP 远程访问。需要webflux场景才可 定义接口 创建代理测试 生产模式----编写配置类config/WeatherConfiguration,@config WeatherService

    2024年02月16日
    浏览(48)
  • 面试官问我:线程锁导致的kafka客户端超时,如何解决?

    本文分享自华为云社区《线程锁导致的kafka客户端超时问题》,作者: 张俭 。 有一个环境的kafka client发送数据有部分超时,拓扑图也非常简单 我们先对客户端的环境及JVM情况进行了排查,从JVM所在的虚拟机到kafka server的网络正常,垃圾回收(GC)时间也在预期范围内,没有

    2024年02月03日
    浏览(47)
  • 【openfeign】OpenFeign的扩展、日志、超时时间、拦截器、客户端组件、压缩

    有时候我们遇到Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置Feign的日志了,以此让Feign把请求信息输出来。 定义一个配置类,指定日志级别: 通过源码可以看到日志等级有4种,分别是: NONE:不记录任何日志(默认值),性能最佳,适用于

    2024年02月12日
    浏览(50)
  • Mojo:为Web应用程序提供了完整的框架,包括路由、模板、插件、Websocket、HTTP客户端、HTTP服务器、配置文件管理等功能

            Mojo是一种高级的、动态的Perl Web应用程序框架,它可以用来开发Web应用程序,定位于速度、简单和可扩展性。Mojo的设计理念是简洁、灵活、易用和高效,它为Web应用程序提供了完整的框架,包括路由、模板、插件、Websocket、HTTP客户端、HTTP服务器、配置文件管理等

    2024年02月09日
    浏览(73)
  • http客户端Fegin

    代码可读性差,编程体验不统一 参数复杂URL难以维护 Feign是声明式的http客户端(只需要将发http请求的信息写出即可)  主要基于SpringMvc的注解来声明远程调用的信息:  步骤: 1.引入依赖 2.添加EnableFeignClients注解 3.编写FeignClient接口 4.使用FeigClient中定义的方法代替RestTempl

    2024年02月09日
    浏览(41)
  • 微服务——http客户端Feign

    目录 Restemplate方式调用存在的问题 Feign的介绍 基于Feign远程调用 Feign自定义配置 修改日志方式一(基于配置文件) 修改日志方式二(基于java代码) Feign的性能优化 连接池使用方法  Feign_最佳实践分析   方式一: 方式二  实现Feign最佳实践(方式二)  两种解决方案 就像早期的事务

    2024年02月15日
    浏览(52)
  • Http客户端OkHttp的基本使用

    OkHttp是一个强大的开源HTTP客户端,它被广泛用于Android和Java应用程序中。OkHttp具有简单易用的API,提供了许多高级功能,如连接池、请求压缩和缓存等。 要使用OkHttp,需要在项目的构建文件中添加以下依赖: 请将 x.x.x 替换为您希望使用的OkHttp版本号。 GET请求 以下是发送G

    2024年02月09日
    浏览(58)
  • 【libevent】http客户端3:简单封装

    LibEventHttp

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包