GAEベースのWebアプリで永続的なHTTPセッションを処理するための「標準的な」方法があるかどうか疑問に思いました。私の問題を説明させてください。
this.getThreadLocalRequest()。getSession()のみを使用してセッションを取得する場合、ユーザーがブラウザーを閉じると、このセッションは自動的に無効になります。
Cookieを使用する場合(Cookieの有効期限が切れるまで、またはユーザーがCookieを消去するまでセッションが持続するため)、Cookieに保存されているsessionIDが実際に有効なセッションに属していることを検証するための一種のメカニズムが必要です。sessionIDとHttpSessionのキーと値のペアをconcurrentHashMapに格納することを考えましたが、このハッシュマップが現在のインスタンスでのみ使用可能になるという問題が発生したため、整合性の問題が発生する可能性があります。
私が考えた最後の解決策は、データストア内のセッションを追跡することでしたが、リクエストを受信するたびにデータストアにクエリを実行する必要があるのはかなりばかげているようです。
たぶん私は完全に軌道に乗っておらず、私がやろうとしていることを達成するための本当に簡単な方法があります:ブラウザの再起動と複数のgaeインスタンスにわたって持続するHttpセッション。
ありがとう!ロドリゴ。