我正在尝试向 GWT 会话添加超时,方法是使用以下代码检查会话是否处于活动状态:
public boolean isSessionAlive() {
return System.currentTimeMillis() - getThreadLocalRequest().getSession()
.getLastAccessedTime() < timeout;
}
我将此代码基于我在网上看到的 GWT 会话的许多示例,例如this。
上面的代码在本地网络服务器上运行时效果很好,但在将项目部署到 App Engine 后就不行了。以下在 App Engine 上始终返回 0:
getThreadLocalRequest().getSession().getLastAccessedTime()
据我了解,每次 RPC 调用都会更新上次访问时间。我打了几个电话,但这个值仍然为零,并且返回了不正确的结果。
有谁知道如何解决这个问题?