を使用してJboss AS 5.1.0 GAいます。私はそれをJSF 1.2 servlet実行しています。
拡張するカスタマイズされたセッションリスナーがありますPortalSessionListener(実行中Liferay 6.0)
web.xmlで、3分にJboss AS設定しました。session-timeoutを押して3 分間何もしないJSF servletと、カスタマイズされたセッション リスナーが呼び出されて呼び出されます。sessionDestroyed(HttpSessionEvent httpSessionEvent)
サーブレットで何らかのアクティビティを実行すると、3 分前sessionに延長されます。それから私は何もしません。今回、ログを見ると、カスタマイズしたセッション リスナーが3 分ではなく 2 分頃に呼び出され、 を呼び出してセッションを無効にしていsessionDestroyed(HttpSessionEvent httpSessionEvent)ます。
私の最初の質問は、上記のシナリオでセッションの無効化が適切なタイミングで行われないのはなぜですか?
また、 の を構成しsession-timeoutましweb.xmlたServlet。ここで述べたように、メソッドを使用しhttpServletRequest.isRequestedSessionIdValid()てセッションが有効かどうかを確認しています。上記のシナリオでは、約 2 分後に無効化され、今回はセッション無効化ログが出力された後、サーブレットの任意のページをクリックすると、まだ無効化されていないことがわかります。しかし、その発見はちょうど3分後に無効になりました。sessionsessionsession
2 番目の質問は、Jboss AS の web.xml で設定された session-timeout と、サーブレットの web.xml で設定されたセッション タイムアウトの違いはなぜですか?
よろしく、
ヴィカス