Vaadin Web应用程序中的分离事件未调用

时间:2018-07-20 23:16:14

标签: vaadin

我的问题源于一个几乎与此处相同的问题(最终没有得到令人满意的答案):

https://vaadin.com/forum/thread/13932610

像这个人一样,我希望在关闭打开我的应用程序的浏览器后,会发生分离事件;但是,这没有发生。我尝试添加一个分离侦听器,重写detach方法,并同时执行这两个操作,但是它们都没有成功。至于我如何知道未调用detach事件,我的detach事件是一个简单的print语句-不会显示在输出中。

请注意,就像前面提到的线程一样,我已经设置了心跳间隔(在我的情况下为2秒),并将closeIdelSessions设置为true。所以,我以为我只需要等待六秒钟,但事实并非如此。

1 个答案:

答案 0 :(得分:3)

当我尝试这样做(在下面的代码中找到必要的部分)时,最终会调用detach()。我使用Jetty来运行它,但是我没有碰触它的默认值。关闭浏览器后,大约花了45分钟,当我在控制台上看到“ Detach named”登录时。是的,时间很长。原因是仅在HttpSession过期后才清理最后一个UI(这取决于应用程序容器等设置)。如果您想更快地进行强制清理,则需要使用https://vaadin.com/directory/component/cleanupservlet-add-on

WARN  o.a.flink.streaming.connectors.kafka.internal.Kafka09Fetcher  - Committing offsets to Kafka takes longer than the checkpoint interval. Skipping commit of previous offsets because newer complete checkpoint offsets are available. This does not compromise Flink's checkpoint integrity.