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

在Spring boot中为特定异步请求设置超时

吴展
2023-03-14

我有一个同步终结点,定义如下:

@PostMapping("/some/url/")
@ResponseBody
public Future<String> something(...) {
    ... do stuff ...
}

当30秒后返回的<code>Future<code>未完成时,请求将被取消。

如何增加此特定终结点的超时(例如,增加到 100 秒)?

我只找到了更改所有endpoint的答案:

  • 指定Spring中控制器异步方法的超时时间
  • 延迟结果的Spring长轮询

共有2个答案

袁炳
2023-03-14

您可以尝试在 application.properties 中添加以下属性吗?

spring.mvc.async。请求超时=#异步请求处理超时前的时间量(以毫秒为单位)。

壤驷安和
2023-03-14

可以返回支持超时的WebAsyncTask。

来自文档:对于Callable,您可以使用WebAsyncTask提供超时值

 类似资料:
  • 问题内容: 我在Go中制作了一个URL提取程序,并具有要提取的URL列表。我将请求发送到每个URL并获得他们的响应。 如何为每个Get请求设置自定义超时?(默认时间很长,这会使我的提取程序非常慢。)我希望提取程序的超时时间为40-45秒左右,之后它应该返回“请求超时”并移至下一个URL。 我该如何实现? 问题答案: 显然在Go 1.3中,http.Client具有“超时”字段 这为我完成了窍门。

  • 我正在制作一个URL提取器,并有一个要提取的URL列表。我向每个URL发送请求并获取它们的响应。 如何为每个Get请求设置自定义超时?(默认时间很长,这使得我的取数器非常慢。)我希望我的提取器有一个大约40-45秒的超时,之后它应该返回“Request timed Out”并移动到下一个URL。 我怎样才能做到这一点呢?

  • 这个任务用于展示如何使用Istio在Envoy中设置请求超时。 开始之前 遵循安装指南 的指导安装Istio。 部署BookInfo 示例程序。 执行如下命令,初始化基于应用版本的路由。 istioctl create -f samples/bookinfo/kube/route-rule-all-v1.yaml 注意:本任务假设在Kubernetes上部署这一应用。所有涉及的命令都使用的是K

  • 本文向大家介绍全面解析iOS中同步请求、异步请求、GET请求、POST请求,包括了全面解析iOS中同步请求、异步请求、GET请求、POST请求的使用技巧和注意事项,需要的朋友参考一下 先给大家分别介绍下iOS中同步请求、异步请求、GET请求、POST所代表的意思,然后在逐一通过实例给大家介绍。 1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进

  • 在Spring的反应式中,是否有一种适当的方法来设置特定于请求的超时,但仍然使用单个?

  • 问题内容: 在某些代码块的运行时间超过可接受的时间之后,是否可以强制Java引发Exception? 问题答案: 是的,但是强制另一个线程在随机的代码行上中断通常是一个非常糟糕的主意。仅当您打算关闭该过程时,才这样做。 您可以做的是在一定时间后用于任务。但是,除非代码对此进行检查,否则它将无法正常工作。ExecutorService可以使此操作更容易 代码自动计时并在需要时停止会更好。