通常、Session Registry ServerはIJServerからセションが無効になったことを通知された時に保持しているセションを破棄します。
しかし、IJServerがダウンしている場合はセションが無効になったことがIJServerから通知されないため、不要なセションがSession Registry Serverに残り、Session Registry Serverのリソースを圧迫します。
そのため、Session Registry Serverは保持しているセションを一定間隔で監視し、期限切れ(タイムアウト)となっているセションを破棄することでリソースの圧迫を防ぎます。この監視間隔はデフォルトでは60秒です。
監視間隔は、Session Registry Server環境定義ファイルの定義“clean.interval”で指定します。詳細は“Session Registry Server環境定義ファイルの設定”を参照してください。
この監視機能では、期限切れセションを単に削除しているだけであるため、IJServerがダウンしてSession Registry Serverにのみセションが存在する場合には、以下のセション破棄関連処理が実行されません。
javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent)
javax.servlet.http.HttpSessionAttributeListener#attributeRemoved(javax.servlet.http.HttpSessionBindingEvent)
javax.servlet.http.HttpSessionBindingListener#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)
上記の処理を実行する必要のある場合は、Session Registry Server環境定義ファイルに以下を指定することにより、Session Registry Serverのみに存在する期限切れセションを、生存しているIJServerに送信し、IJServerでセション破棄関連処理を実行させることができます。
invalid.session.send
invalid.session.waiting.time
詳細は“Session Registry Server環境定義ファイルの設定”を参照してください。