maxIdleTime设置在jetty中的含义是什么

时间:2012-09-14 09:41:21

标签: jetty

我正在开发一个现有的Jetty应用程序,它在应用程序中配置了maxIdleTime。

<servlet>
      <servlet-name>UserServlet</servlet-name>
      <servlet-class>com.UserServlet</servlet-class>
      <init-param>
         <param-name>maxIdleTime</param-name>
           <param-value>300000</param-value>
      </init-param>
     </servlet>

根据Jetty文档,这意味着,但我无法理解这是什么意思?请有人告诉我。提前致谢 。

Set the maximum Idle time for a connection, which roughly translates to the Socket.setSoTimeout(int) call, although with NIO implementations other mechanisms may be used to implement the timeout. The max idle time is applied: when waiting for a new request to be received on a connection; when reading the headers and content of a request; when writing the headers and content of a response. Jetty interprets this value as the maximum time between some progress being made on the connection. So if a single byte is read or written, then the timeout (if implemented by jetty) is reset. However, in many instances, the reading/writing is delegated to the JVM, and the semantic is more strictly enforced as the maximum time a single read/write operation can take. Note, that as Jetty supports writes of memory mapped file buffers, then a write may take many 10s of seconds for large content written to a slow device.

1 个答案:

答案 0 :(得分:4)

在上面提到的上下文中,作为用户servlet的init参数,它与Jetty无关。它只是一个传递给该servlet的参数,完全取决于它将用它做什么。

在jetty中,您是否将最大空闲时间设置为连接器,然后在连接空闲超时之前允许该连接器保持空闲且没有流量的时间长度。