2010-12-21 67 views
7
  1. 什么是java应用引擎,默认会话超时?
  2. 如果我们将sesion时间设置到非常长的时间,那么会有什么不好的影响,因为谷歌应用程序引擎会话默认存储在数据存储中? (就像facebook一样,每次你浏览页面,会话都会一直存在)?

回答

12
  1. 默认会话超时设置为30分钟。 (你可以验证它调用getMaxInactiveInterval方法)
  2. 由于有关您的应用程序的相当有限的信息,我没有看到任何影响。
    使用setMaxInactiveInterval(-1)表示Session永远不会超时。 请记住,您还需要覆盖JSESSIONID cookie MaxAge以防止在浏览器关闭时丢失会话。
+0

将在增加内存使用情况的话/ appengine中的资源? – cometta 2010-12-22 02:11:51

+1

是的,因为您将在_ah_SESSION表上结束许多无用的活动会话。 – systempuntoout 2010-12-22 08:32:07

+2

看来,GAE不再服从req.getSession()。setMaxInactiveInterval(x)。默认情况下,它将memcache/datastore中的会话过期值设置为从现在开始的1天。不过,我找到了一种方法来改变这一点,将以下内容添加到web.xml中。 20160 Patrick 2012-05-02 12:49:53

1
  1. 我刚刚测试了我的GAE web应用程序,默认的超时时间为getMaxInactiveInterval()= 86400(S)= 24小时数=1天