現在、アプリを 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 イベントです。追加したイベント リスナーに到達しないようです。
私は何を間違っていますか?