You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus REST API网关超时调整:能否将30秒延长至120秒?

解决方案

针对Quarkus中上传大文件30秒超时的问题,你可以通过调整以下核心配置来延长超时时间至120秒:

1. 调整Vert.x HTTP服务器请求超时

Quarkus底层基于Vert.x,默认的HTTP服务器请求处理超时为30秒,这正是你遇到的问题根源。在application.properties中添加以下配置:

# 设置服务器端请求处理超时为120秒
quarkus.http.timeout=120s

该配置控制服务器从接收请求到发送响应的最大允许时间,直接覆盖默认的30秒限制。

2. 确保文件上传大小限制足够(可选)

如果大文件上传还伴随大小限制导致的异常,可同时调整以下配置避免请求提前终止:

# 设置最大请求体大小(示例为100MB,按需调整)
quarkus.http.limits.max-body-size=100M
# 设置multipart表单属性的最大大小
quarkus.http.limits.max-form-attribute-size=10M

3. 耗时操作异步化(进阶优化)

如果doSmth()是耗时较长的业务逻辑,建议将其改为异步处理,避免占用请求线程导致资源耗尽:

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.MediaType;
import java.io.File;
import java.util.concurrent.CompletableFuture;

@ApplicationScoped
public class YourResource {

    public Response createBulk(File xlsx) {
        // 异步执行耗时业务逻辑
        CompletableFuture.runAsync(this::doSmth);
        return Response.status(Response.Status.ACCEPTED)
                .type(MediaType.APPLICATION_JSON)
                .build();
    }

    private void doSmth() {
        // 原耗时业务逻辑实现
    }
}

内容的提问来源于stack exchange,提问作者Disteonne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 10:15:38