Vaadin7:跟踪用户是否处于活动状态(DOM事件处理程序)

时间:2013-04-04 08:51:25

标签: java web-applications vaadin

我们目前正在将我们的应用程序移植到vaadin 7,我希望跟踪用户在过去30多岁时的活动情况。 我们曾经在自定义CommunicationManager中跟踪用户活动,但由于这个类已被弃用,我想我们可能需要尝试不同的方式。

我创建了一个扩展程序,我用。扩展UI。

为简单起见,我们假设我们将点击和键盘用法计为用户活动:

// this is the extend method in the extension connector
@Override
protected void extend (ServerConnector target) {
  UIConnector uiConnector = (UIConnector) target;
  VUI uiWidget = uiConnector.getWidget();
  uiWidget.addDomHandler(this.keyPressed(), KeyPressEvent.getType());
  uiWidget.addDomHandler(this.mouseClicked(), ClickEvent.getType());
}

然后,扩展程序将安排一个计时器,该计时器将每隔30秒通过RPC调用服务器,但前提是该用户已处于活动状态。 这个计时器工作。什么是不起作用的DOM事件,他们似乎永远不会到达我添加的事件监听器。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据您的实施情况,我建议您尝试Refresher add-on。它的工作方式类似,但可以让您更好地控制轮询间隔,服务器端侦听器。另外,您无需维护它。

另一种选择是利用Vaadin民意支持(见https://vaadin.com/wiki/-/wiki/Main/Using%20polling)。