ozawa
filip****@gmail*****
2010年 6月 16日 (水) 17:34:49 JST
矢野さん ご説明ありがとうございます。大変参考になりました。 サーブレットコンテナのセッション管理と同期されているということですね。 > ユーザがログアウトしなくとも,Servlet Containerに設定したセッション維持期間を過ぎれば,HttpSessionはServlet Containerが無効にします。 > WicketのAbstractHttpSessionStore.SessionBindingListenerがサーブレット仕様にあるHttpSessionBindingListenerインタフェースを実装しており,WicketのSessionが生成されると同時にHttpSessionに格納されます。コンテナがHttpSessionを破棄しようとすると,合わせてHttpSessionに格納されたSessionBindingListenerが破棄されるため,SessionBindingListenerに破棄通知が行われます。Wicketはこの破棄通知を利用して,DiskPageStoreの使用していたセッションファイルを破棄します。 > > なので,私は「不要ファイルを消す」という操作自体が必要ないと思います。Wicketが適時削除するでしょうから。 ただ、ご説明の仕様は、通常運用時はいいのですがサーバーの停止時にセッションを保持して、起動時に復元する機能(session persistence)が有効になっていることが前提の話と思います。 サーブレットコンテナやWebアプリのセッション復元設定次第では、「ファイルの削除を実施する必要あり」ということになると思います。 Webアプリが起動するタイミングでfilestoreを初期化する(空にする)といったことを実施したいと思うのですが、良い案や設定で可能などありましたらご教授願えれば幸いです。 #DiskPageStoreの使用するファイルサイズに関しては、矢野さんの著書を拝見しており設定可能な点、理解しております。ありがとうございます。