[gae-ja] セッションのタイムアウト時間を個別に設定する方法

767 views
Skip to first unread message

ヨシ

unread,
May 6, 2010, 9:44:25 PM5/6/10
to Google-App-Engine-Japan
はじめまして。ヨシと申します。

GAE上でJAVAとJSPを使って開発を行っているのですが、
現在、2箇所でセッションを発行を行っていて、発行した場所
によってタイムアウトまでの時間を変えたいと思っています。

セッションのタイムアウト時間を設定するのにJava側でHttpSessionクラスの
setMaxInactiveIntervalメソッドを使ってみたのですが、ローカルでは正常に動作するものの
デプロイ先ではWeb.xmlで設定されているデフォルトのタイムアウト時間になってしまうのです。

この現象の原因、または自分はこれで出来た、というようなことがあれば教えて頂けないでしょうか。

--
このメールは Google グループのグループ「Google-App-Engine-Japan」の登録者に送られています。
このグループに投稿するには、google-app-...@googlegroups.com にメールを送信してください。
このグループから退会するには、google-app-engine...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/google-app-engine-japan?hl=ja からこのグループにアクセスしてください。

Kazunori Sato

unread,
May 6, 2010, 10:25:41 PM5/6/10
to google-app-engine-japan
ヨシさん、

スティルハウス佐藤と申します。

> この現象の原因、または自分はこれで出来た、というようなことがあれば教えて頂けないでしょうか。

私はこういった使い方をしたことがないのでこの現象も経験したことがありませんが、ひとつのワークアラウンドとしては、セッション管理をDatastoreで自作する方法です。

App Engine のHttpSessionは、Tomcat等のようにメモリ上のオブジェクトではなく、MemcacheとDatastoreの組み合わせにより永続化されるオブジェクトです。そのため性能的にはDatastoreに近く、またDatastore上に残るセッションデータの掃除も必要となります。ですので、いっそのことセッション管理用エンティティを自作して自在にタイムアウトを設定した方が早いかもしれません。

直接の解答になっていなくてすみません~

スティルハウス佐藤一憲

2010年5月7日10:44 ヨシ <yos...@gmail.com>:

--
佐藤一憲/Stillhouse Co.

ヨシ

unread,
May 7, 2010, 1:36:55 AM5/7/10
to Google-App-Engine-Japan
佐藤さん返信ありがとうございます。

> App Engine のHttpSessionは、Tomcat等のようにメモリ上のオブジェクトではなく、MemcacheとDatastoreの組み合わせにより永続化されるオブジェクトです。そのため性能的にはDatastoreに近く、またDatastore上に残るセッションデータの掃除も必要となります。ですので、いっそのことセッション管理用エンティティを自作して自在にタイムアウトを設定した方が早いかもしれません。

やりたいことから考えると確かにセッションにこだわる必要はないので、上の方法でもいいですね。
セッションだとcron等でDatastoreのセッションデータを消す必要がでてきますし・・・。
とても参考になりました。ありがとうございます。

Reply all
Reply to author
Forward
0 new messages