Google App Engine如何跟踪httpsession的破坏

时间:2011-01-26 20:50:35

标签: java google-app-engine google-cloud-datastore httpsession

有人知道如何使用GAE跟踪httpsession破坏吗? 我发现HttpSessionListener在GAE中无法正常工作,而sessionDestroyed方法从不调用。

更具体地说,当用户登录到应用程序时,我有一个存储在数据库中的信息,但是如果某些用户在一段时间内处于非活动状态,我需要从db中删除此信息,如果sessionDestroyed方法将是当这样的事件发生时调用,就像现在我做了每分钟运行的cron作业一样,作业查询这种类型的所有数据在内存中处理哪些数据处于非活动状态并将其删除。但这是非常低效的方法,我可以用缓存优化它。但也许还有其他一些优雅的方式。

任何想法都得到了热烈的批评。

1 个答案:

答案 0 :(得分:3)

如您所见,HttpSessionListener无法在App Engine上运行,因此无法实现。这部分是由于App Engine应用程序在多台计算机上运行多个实例,因此没有一个VM可以调用它。如你所描述的那样运行常规清理脚本是最好的方法,尽管没有理由每分钟运行一次 - 每天几次应该是完全足够的!