java - jetty :动态改变空闲时间

标签 java servlets jetty

我有一个 jetty 服务器,配置为在 30 秒后使请求过期,这是 xml 配置文件中的配置行:

<Set name="maxIdleTime">30000</Set>

此服务器接受两种请求:必须实时处理的请求和来自批处理脚本的请求,这些请求可能需要一些时间才能得到答复。

特别是一个请求预计需要几分钟。 现在我想让这个请求完全执行而不会超时,同时将“正常”实时请求的过期时间保持在较低水平,以避免潜在的拥塞。

我的猜测是我必须做这样的事情:

public class MyServlet extends HttpServlet {

    ...

    public void doGet(HttpServletRequest pRequest, HttpServletResponse pResponse)
        throws IOException, ServletException {

        if (pRequest is of the type allowed to be slow) {
            set max idle time for this request very high (or infinite)
        }

        server.execute(pRequest, pResponse);
    }


}

我正在使用 jetty 6.1.2rc4

最佳答案

maxIdleTime 参数不配置允许请求花费的时间。当 Jetty 决定收缩线程池时,该值用于从线程池中移除空闲线程。请参阅 QueuedThreadPool#setMaxIdleTime() 的 javadoc .

如果请求超时,可能是由于一侧或两侧的套接字超时参数。

关于java - jetty :动态改变空闲时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274026/

相关文章:

gradle - IllegalArgumentException:对象的类型不是org.eclipse.jetty.plus.jndi.Resource类

java - 如何在 Eclipse 中的 Java Applet 中每秒显示帧数?

java - 初始化抽象类的ArrayList

java - 如何将 java cron 表达式转换为 'number of times per day' 值?

java - HttpServlet : doPut is not called

java - 警报 JSP 后保持输入的详细信息不变

java - Jetty 中断连接

java - Servlet 未包含在 Maven 项目中

java - Jetty 日志记录配置错误

java - Json对象不显示在jsp中