無効化リスナーのメカニズムでは、キャッシュから内容が除去されたときにアプリケーションに通知するために、Java イベントが使用されます。
アプリケーションは、InvalidationListener インターフェース (com.ibm.websphere.cache パッケージに定義されています) を インプリメントし、DistributedMap インターフェースを使用して、これをキャッシュに登録します。リスナーは、キャッシュからエントリーが除去されたときに InvalidationEvent (com.ibm.websphere.cache パッケージに定義されています) を受け取ります。 エントリーの除去は、ユーザーによる明示的な無効化、タイムアウト、最低使用頻度 (LRU) による除去、キャッシュ・クリア、またはディスク・タイムアウトが原因で発生します。 アプリケーションは直ちに無効化されたデータを再計算し、次のユーザー要求より前にキャッシュの事前準備を行います。
リスナーを登録する前に、DistributedMap でリスナー・サポートを使用可能にします。DistributedMap は、登録時のコールバックで、無効化リスナー Java 2 Platform, Enterprise Edition (J2EE) コンテキストを使用するように構成することも可能です。カスタム・プロパティー useListenerContext の値を true に設定すると、無効化リスナー J2EE コンテキストをコールバックで使用できるようになります。詳しくは、 キャッシュ・インスタンスの設定を参照してください。
dmap.enableListener(true); // Enable cache invalidation listener. InvalidationListener listener = new MyListenerImpl(); //Create invalidation listener object. dmap.addInvalidationListener(listener); //Add invalidation listener. : : : dmap.removeInvalidationListener(listener); //Remove the invalidation listener. //This increases performance. dmap.enableListener(false); // Disable cache invalidation listener. //This increases performance.無効化リスナーの詳細については、com.ibm.websphere.cache パッケージについて 開発者用 API 文書 を参照してください。