2

struts2のセッションに保存されているオブジェクトを破棄することは可能ですか?

セッションに保存したいオブジェクトの中には、解放する必要のあるリソースがありますが、セッションがタイムアウトしたり閉じられたりしたときに、それらをきれいに破棄する方法が見つかりません。

クライアントベースのソリューションにはjavascriptタイマーが必要であることを認識していますが、現時点ではクライアント側については心配していません。セッションがタイムアウトしたときにサーバー側のリソースをクリーンアップできるようにしたいだけです。

リクエストごとにセッションをチェックし(異なるクライアントとの同時セッションが多数ある可能性があるため複数)、レイトクリーンアップを実行することを考えましたが、その時点でセッションマップはすでになくなっています。

4

1 に答える 1

1

同僚からの答えを見つけました。提案をありがとう。

解決策は、HttpSessionListenerを実装するクラスを作成することであるようです。このインターフェースには、セッションが作成および破棄されたときに呼び出される関数が含まれています。それから加えて:

<listener>
    <listener-class>my.package.listeners.TestSessionListener</listener-class>
</listener>

web.xmlまたはサーブレット構成ファイルへ。

于 2012-10-08T13:31:02.153 に答える