gpt4 book ai didi

java - Vaadin 服务器端心跳

转载 作者:行者123 更新时间:2023-11-30 10:50:31 25 4
gpt4 key购买 nike

在 vaadin 应用程序中,我知道客户端 javascript 向服务器发送心跳,我可以通过在 web.xml 中添加以下内容来配置间隔

<context-param>
<param-name>heartbeatInterval</param-name>
<param-value>5</param-value>
</context-param>

我认为服务器也会向客户端发送心跳,因为如果服务器遇到断点并在断点处等待一段时间,客户端会显示 session 已过期。

与客户端到服务器心跳的心跳间隔相比,是否可以为服务器到客户端心跳指定不同的心跳间隔?

此外,documentation表示如果错过 3 个心跳,服务器将关闭 UI。是否可以更改此最大心跳未命中计数?

(有人可能认为增加心跳间隔可以达到增加最大心跳计数的相同效果。但是,我在我的应用程序中将客户端心跳用于其他目的,因此增加心跳间隔不是我)

最佳答案

Vaadin 实际上不会将请求从服务器发送到客户端,除非您启用描述的服务器推送 here .但是,您应该在下面考虑拥有稳定的 session 和稳定的 UI 上下文。来自Vaadin documentation :

The session timeout should be longer than the heartbeat interval or otherwise sessions are closed before the heartbeat can keep them alive. As the session expiration leaves the UIs in a state where they assume that the session still exists, this would cause an Out Of Sync error notification in the browser.

However, having a shorter heartbeat interval than the session timeout, which is the normal case, prevents the sessions from expiring. If the closeIdleSessions parameter for the servlet is enabled (disabled by default), Vaadin closes the UIs and the session after the time specified in the session-timeout parameter expires after the last non-heartbeat request.

关于java - Vaadin 服务器端心跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com