当前位置: 首页 > 知识库问答 >
问题:

Spring rest模板readTimeOut

车嘉实
2023-03-14

我试图理解restTemplate上可用的readTimeout,它到底是什么?

它是请求在我们得到超时异常之前可以花费的总时间吗?

共有1个答案

唐康安
2023-03-14

您可以在RestTemplate上定义读取超时,如下所示:

HttpComponentsClientHttpRequestFactory clientRequestFactory = new HttpComponentsClientHttpRequestFactory();
// set the read timeout, this value is in milliseconds
clientRequestFactory.setReadTimeout(500);

RestTemplate restTemplate = new RestTemplate(clientRequestFactory);

给定X millis的readTimeout,通过该RestTemplate实例发出的任何请求如果时间超过X millis,将导致ResourceAccessException,用异常消息“Read timed Out”包装java.net.SocketTimeoutException

超时实际上是由HttpClient实例中的套接字连接器实现的,该实例由RestTemplate包装,因此时钟在请求首次命中该套接字时启动,在请求完成或到达readTimeout时停止。

实际上,这意味着任何请求如果花费的时间比配置的readTimeout长,就会以超时异常失败。

 类似资料:
  • 我有两项服务-和<代码>服务1通过SpringREST模板调用一些API。现在

  • 我正在尝试使用spring rest模板POST w/自定义拦截器将一个大文件从一个微服务发布到另一个微服务,如下所示: (我是否使用SimpleClientHttpask estFactory或HttpComponentsClientHttpask estFactory没有区别) 添加拦截器会在调用getRequestFactory时创建一个新的侦听ClientHttPrequestFactor

  • 英文原文:http://emberjs.com/guides/application/the-application-template/ 应用模板是应用启动的时候默认渲染的模板。 你应该把你的header、footer和其他装饰性的内容放在应用模板里面。另外,应用模版中至少需要一个{{outlet}}占位符,以便路由能根据当前的URL将适当的模版渲染进来。 下面是一个应用模板的例子: 1 2 3

  • Tpongo2 中间件是 pongo2.v3 模板引擎的 Tango 支持。 安装 go get github.com/tango-contrib/tpongo2 示例 package main import ( "github.com/lunny/tango" "gopkg.in/flosch/pongo2.v3" "github.com/tango-contrib/tp

  • 模板中的变量和函数 模板中可以使用的函数或者变量来源如下: 1)Go模板自带的模板函数 2)xweb内置的模板函数和变量 3)通过Server.AddTmplVar或者AddTmplVars添加的函数或者变量 4)通过App.AddTmplVar或者AddTmplVars添加的函数或者变量 5)通过Action.AddTmplVar或者AddTmplVars添加的函数或者变量 6)Action的公

  • Jekyll 使用 Liquid 模板语言,支持所有标准的 Liquid 标签和过滤器。Jekyll 甚至增加了几个过滤器和标签,方便使用。 过滤器 描述 过滤器 和 输出 日期转化为 XML 模式 将日期转化为 XML 模式 (ISO 8601) 的格式。 {{ site.time | date_to_xmlschema }} 2008-11-17T13:07:54-08:00 日期转化为 RF

  • Flask 使用 Jinja 2 作为模板引擎。当然,你也可以自由使用其它的模板引擎,但运行 Flask 本身仍然需要 Jinja2 依赖 ,这对启用富扩展是必要的,扩展可 以依赖 Jinja2 存在。 本节只是快速地介绍 Jinja2 是如何集成到 Flask 中的。更多关于 Jinja2 语法本身的信息, 请参考官方文档 Jinja2 模板引擎 。 Jinja 配置 Jinja 2 默认配置如

  • 虽然 Flask 并不强迫我们使用任何一个特定的模板语言,它假设我们要使用 Jinja。在 Flask 社区中大部分开发者使用 Jinja,我建议你们也这样做。有很多的扩展帮助我们使用其它的模板语言,像 Flask-Genshi 和 Flask-Mako。坚持使用默认的模板语言,除非你有更好的理由使用其它的模板语言。还不知道 Jinja 语法不是一个好的理由!你会节省大量的时间和烦恼。 当我们提及