0

現在、JSP/サーブレットとStrutsフレームワークを使用するWebプロジェクトに取り組んでいます。キャッシュメカニズムを使用しています。特定のイベントでアクティブなすべてのセッションからセッション属性の一部をクリーンアップしたい(たとえば、キャッシュを更新する場合)。では、同じものを実装するための最良の方法は何ですか?

4

2 に答える 2

4

推測させてください。キャッシュからの値をセッション変数に格納していますよね?

これを行う最もクリーンな方法は、必要になるたびにキャッシュから値を取得し、キャッシュに有効期限/リロードなどを管理させることです。これがキャッシュの責任です。

つまり、キャッシュの値をセッションオブジェクトに保存しないでください。キャッシュを使用している場合は、何の役にも立ちません。

乾杯

于 2009-06-26T03:38:43.940 に答える
1

HttpSessionActivationListener(サーバーAPIの一部)インターフェイスを実装するクラスを提供し、それをweb.xmlに登録する必要があります。

次に、アクティブなセッションを追跡し、その情報を使用してセッションにアクセスし、属性の更新を実行できます。事実上、実装クラスはシングルトンになるため、セッションの追跡中に同期の問題を慎重に処理する必要があります。

もちろん、複数のノードがあるクラスター環境の場合、属性変更の伝播は非常に複雑になる可能性があります。

于 2009-06-26T04:20:20.267 に答える