11

我正在从 jetty7.6 迁移到 jetty-9.2。我看到码头连接的 idletimeout 的默认值减少了 10 倍。

在码头 7.6

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

在码头 9.2 中:

<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>

为什么这样 ?

正因为如此,我不断低于异常:

WARN:oejs.HttpChannel:qtp607635164-14195: Commit failed
java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms
at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:156)
at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)..........

谢谢, 阿努杰

4

3 回答 3

9

把这个放在你的${jetty.base}/start.ini

jetty.http.idleTimeout=300000

这将恢复您以前的期望。

它从默认的 5 分钟更改为 30 秒作为超时,仅仅是因为这对于大多数网站来说是一个更好的选择。

于 2014-08-29T15:53:17.157 回答
0

使用 Jetty 9.4 和 HTTPS,上述解决方案不起作用。为了解决这个问题,我发现了一个未出现在 .ini 文件中的未记录设置:

jetty.ssl.idleTimeout=180000

将其添加到您的 Jetty 设置中。start.d/<whatever>.inistart.ini

于 2017-09-02T23:28:58.030 回答
0

正确的设置是

## Connector idle timeout in milliseconds
# jetty.ssl.idleTimeout=30000

这可以在 ssl.mod 文件中找到。

于 2017-10-19T22:35:10.080 回答