当前位置: 首页 > 知识库问答 >
问题:

如何限制Vaadin 14尝试发送心跳请求的次数

龙令雪
2023-03-14

这通常可以正常工作,除非用户将浏览器打开而应用程序长时间空闲,直到达到OpenID会话的最大会话时间。问题是,在这一点上,Vaadin客户机一直试图发送心跳请求。这与mod_auth_openidc问题结合在一起,会导致状态cookie堆积并达到极限,因此用户必须关闭浏览器才能重新登录。

为了让服务器在会话超时后收到心跳请求时指示浏览器访问注销URL(结合vaadin.closeidlessions=true),我尝试了各种方法(未成功),但即使它起作用,也不能解决其他浏览器选项卡的问题,这些选项卡当时也可能打开并发送心跳请求。

我们真正想要的是限制Vaadin客户机重试发送heartbeat请求的次数(比如最多3次),然后停止发送请求(可能显示一条重新登录的消息)。

这有可能吗?当前的解决办法是完全禁用heartbeats,但这似乎并不理想(Vaadin不会检测空闲UI)。

共有1个答案

微生翼
2023-03-14

UI实例具有ReConnectDialogConfiguration,它包括ReConnectAttempts属性,用于控制重试请求(包括心跳请求)的次数。默认值似乎是10000。

在Vaadin14(LTS)中,这可以使用PageConfigurator进行设置。

在Vaadin18(最新版本)中,这是使用AppShellConfigurator完成的

 类似资料:
  • 我必须发送一个带有xml数据的post请求,然后验证响应,例如检查状态代码和响应体。

  • 我在网上找到了这个脚本: 但我不明白如何与PHP一起使用它,也不明白params变量内部的内容是什么,也不明白如何使用它。我能帮个忙吗?

  • 下面是预期的请求,它应该命中系统,但在发送它时,数组变成字符串? 为了生成上述内容,我正在创建Array对象并发送请求,但结果是这样的放心请求。 实际 由于上述实际结果,api 将其视为子类的字符串,而不是将其视为数组。但代码希望它是子类的数组。 我正在使用hasmap创建上面的内容。这样地 queryParam将以jsonbody的身份出现。 现在如何按预期发送 json 正文,而不是实际的 j

  • 我试图做简单的超文本传输协议后请求使用以下代码:Golang代码从另一个SO后 它发送了两次http请求(我尝试了向自己的web服务和Firebase消息服务器发送)。有人知道怎么回事吗?非常感谢。 编辑忽略我,找出是AVG反病毒造成的问题。如果我这样做:然后按enter键一次,AVG会中断,说它已经扫描了它,然后让它运行。这会导致http调用两次。如果我在运行前禁用了防病毒软件,那么http请求

  • 问题内容: 我得到了这个servlet,它将pdf文件返回到客户端Web浏览器。我们不希望冒任何风险,即当请求数量过多时,服务器将瘫痪。 我们希望采用一种应用程序级别(程序)的方式来设置并发请求数的限制,并在达到限制时向浏览器返回错误消息。我们需要在审批级别进行操作,因为我们在开发级别(tomcat)和生产级别(websphere)具有不同的servlet容器。 我必须强调,我想控制最大请求数,而