jetty:动态改变空闲时间

时间:2010-02-16 15:40:54

标签: 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

1 个答案:

答案 0 :(得分:1)

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

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