以下のコードを記述し、sessionを常に保持したいですが、
HttpSession session = request.getSession(); session.setMaxInactiveInterval(-1);
上記をローカルmac/tomcat7で実装していますが、
1日たった後でmacを再起動しましたが、
コード中で、session.setAttribute("key", key);
したkeyが
session.getAttribute("key");
で取得できなくなります。
この原因は、tomcat セッションはデフォルトは、メモリに保持しているので、
macを再起動してしまう、または、tomcatを再起動してしまうと、
メモリから消えてしまい、セッションも消えてしまうになりますでしょうか。
また、セッションを切れなくするには、以下のようにファイルに保存する形で
よいでしょうか。
http://qiita.com/shintaness/items/73d176c0a4f369608898#2-2
何卒教えて頂ければ幸いです。
--追記--
context.xmlにある以下にて
<!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> -->
「Tomcat停止時にセッション状態をファイルに保存して、起動時に読み込んでセッションを永続化するようになってます」
という動作をするとのことなので、
少なくとも、tomcat起動、再起動では、セッション情報は消えないになりますかね。
だとしますと、私がmacを再起動したときに、
tomcatの停止しないまましたので、強制終了になり、セッションが保存されないままとなったため、
セッションがきえてしまったという現象になった?でしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/14 01:32