2010-12-21 55 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天