次のコードを使用して、セッションが有効かどうかを確認することにより、GWT セッションにタイムアウトを追加しようとしています。
public boolean isSessionAlive() {
return System.currentTimeMillis() - getThreadLocalRequest().getSession()
.getLastAccessedTime() < timeout;
}
このコードは、このなどの GWT セッションの Web で見た多くの例に基づいています。
上記のコードは、ローカル Web サーバーで実行している間はうまく機能しますが、プロジェクトを App Engine にデプロイした後は機能しません。以下は、App Engine では常に 0 を返します。
getThreadLocalRequest().getSession().getLastAccessedTime()
私の知る限り、最終アクセス時刻は RPC 呼び出しごとに更新されます。何度か呼び出しを行いましたが、この値はゼロのままで、正しくない結果が返されます。
この問題を解決する方法を知っている人はいますか?