如何在嵌入式jetty中为cometd设置会话超时? 下面是我设置超时的方法,但在服务器会话中,它将超时显示为-1。
public void addCometDServletHolder(CometDServlet cometdServlet) {
ServletHolder comet = new ServletHolder(cometdServlet);
comet.setInitParameter("timeout", "60000");
comet.setInitParameter("ws.idleTimeout", "120000");
答案 0 :(得分:0)
CometD ServerSession
timeout
参数控制/meta/connect
频道上CometD心跳消息的频率。
如果这是您要调整的内容,则会设置BayeuxServer
设置,您在上面的代码段中设置60000
,并且设置为ServerSession
。
如果未明确设置后者,则使用前者。
在您的情况下,调用ServerSession.getTimeout()
会返回-1
,因为您没有为该特定ServerSession
对象明确设置它,因此使用BayeuxServer
设置。
注意这个"超时"在客户端崩溃的情况下,控制心跳消息频率,而不是服务器上ServerSession
个对象的到期。
有关CometD配置参数含义的更多信息,请参阅documentation。