Jetty HTTP / 2:如何设置客户端会话超时?

时间:2017-01-16 18:29:51

标签: jetty http2

我正在尝试创建一个会话并为每个请求重用它。 问题是如果我在创建会话后30秒后尝试发送请求,我得到:

Caused by: java.nio.channels.ClosedChannelException
at  org.eclipse.jetty.http2.HTTP2Session$ControlEntry.succeeded
(HTTP2Session.java:1224) ~[http2-common-9.4.0.v20161208.jar:9.4.0.v20161208]

我试过这个

   SSLSessionContext clientSessionContext = sslContextFactory.getSslContext().getClientSessionContext();
  clientSessionContext.setSessionTimeout(60000);

但似乎无法正常工作

1 个答案:

答案 0 :(得分:2)

如果您使用的是HttpClient,则可以使用HttpClient.setIdleTimeout(long)设置客户端空闲超时。

如果您使用的是低级HTTP2Client,则可以使用HTTP2Client.setIdleTimeout(long)设置客户端空闲超时。

两者都将控制连接/会话空闲超时,这显然是你想要的。负值将禁用空闲超时。