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

Spark Java Core服务器端连接超时默认值及自定义配置问询

Spark Java (com.sparkjava) 连接超时配置说明

默认连接空闲超时

Spark Java 2.9.4版本基于Jetty作为嵌入式Web服务器,默认的连接空闲超时为300000毫秒(5分钟),这是Jetty服务器的默认配置值。

为什么修改线程池idleTimeout无效

你尝试修改的threadPool的idleTimeout是用于控制线程池中空闲线程的回收时间,和客户端与服务器之间的连接空闲超时是完全不同的配置项,因此该设置不会影响连接超时行为。

修改连接空闲超时的方法

由于Spark Java底层依赖Jetty,需要通过配置Jetty的ServerConnector来修改连接空闲超时,以下是两种可行方案:

方案1:启动Spark后修改现有Jetty服务器的Connector配置

import spark.Spark;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;

public class SparkTimeoutSetup {
    public static void main(String[] args) {
        // 初始化Spark端口
        Spark.port(4567);
        
        // 获取底层Jetty服务器实例
        Server jettyServer = (Server) Spark.embeddedServer().getServer();
        
        // 遍历所有Connector,设置空闲超时(示例设置为30秒,即30000毫秒)
        for (org.eclipse.jetty.server.Connector connector : jettyServer.getConnectors()) {
            if (connector instanceof ServerConnector) {
                ((ServerConnector) connector).setIdleTimeout(30000);
            }
        }
        
        // 定义业务路由
        Spark.get("/test", (req, res) -> "Success");
    }
}

方案2:自定义Jetty服务器并交由Spark托管

import spark.Spark;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import spark.embeddedserver.jetty.JettyServer;

public class CustomJettySetup {
    public static void main(String[] args) {
        // 创建自定义Jetty服务器
        Server customJettyServer = new Server();
        ServerConnector connector = new ServerConnector(customJettyServer);
        
        // 设置端口和连接空闲超时
        connector.setPort(4567);
        connector.setIdleTimeout(30000);
        
        customJettyServer.addConnector(connector);
        
        // 让Spark使用自定义的Jetty服务器
        Spark.embeddedServer(new JettyServer(customJettyServer));
        
        // 定义业务路由
        Spark.get("/test", (req, res) -> "Success");
        
        // 启动Spark
        Spark.init();
    }
}

以上两种方式都能有效修改连接空闲超时,确保客户端超时后服务器不再处理该连接的请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:21:04