3

任何人都知道如何使用GAE跟踪httpsession销毁? 我发现HttpSessionListener在GAE中无法正常工作,sessionDestroyed方法从不调用。Google App Engine如何跟踪httpsession销毁

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

任何想法都热烈appricated。

回答

3

正如您所看到的,HttpSessionListener不适用于App Engine,所以这是不可能的。部分原因是App Engine应用程序在多台机器上运行多个实例,因此没有单个VM可以调用它。按照您所描述的方式运行常规清理脚本是实现此目的的最佳方法,但实际上没有理由每分钟运行一次 - 每天几次应该足够完美!

+0

是的,我明白为什么HttpSessionListener不会在GAE上运行,所以没有这种可能性。好吧,我想确保我正在做正确的事情。谢谢。 – endryha 2011-01-27 11:00:02