Programmes d'écoute d'invalidation
Le mécanisme d'écoute d'invalidation emploie des événements Java™ pour informer des applications de la suppression de contenu de la mémoire cache.
Les applications implémentent l'interface InvalidationListener (définie dans le package com.ibm.websphere.cache) et l'enregistre dans le cache à l'aide de l'interface DistributedMap. Les programmes d'écoute reçoivent des événements InvalidationEvents (définis dans le package com.ibm.websphere.cache) lors de la suppression d'entrées dans le cache, en raison d'une invalidation utilisateur explicite, d'un nettoyage LRU, du nettoyage du cache ou d'un délai d'expiration de réponse d'un disque. Les applications peuvent recalculer immédiatement les données invalidées et mettre à jour le cache avant la prochaine demande utilisateur.
Activez la prise en charge des programmes d'écoute dans l'interface DistributedMap avant de les enregistrer. Il est également possible de configurer DistributedMap pour qu'il utilise, dès l'enregistrement, le contexte Java EE (Java Platform, Enterprise Edition) des programmes d'invalidation pendant les rappels. Le fait de définir la valeur de la propriété personnalisée useListenerContext sur true active le contexte Java EE des programmes d'invalidation pour les rappels. Pour plus d'informations, reportez-vous à la rubrique consacrée aux paramètres d'instance de cache.
dmap.enableListener(true); // Active le programme d'écoute d'invalidation du cache.
InvalidationListener listener = new MyListenerImpl(); // Crée un objet programme d'écoute d'invalidation.
dmap.addInvalidationListener(listener); // Ajoute un programme d'écoute d'invalidation.
:
:
:
dmap.removeInvalidationListener(listener); // Retire le programme d'écoute d'invalidation.
//Les performances augmentent.
dmap.enableListener(false); // Désactive le programme d'écoute d'invalidation du cache.
//Les performances augmentent.
Pour plus d'informations sur les programmes d'écoute d'invalidation, reportez-vous au API supplémentaires du package com.ibm.websphere.cache.