Mise en cache JNDI

Afin d'accroître les performances des opérations JNDI (Java™ Naming and Directory Interface), l'implémentation JNDI du produit utilise la mise en cache de manière à réduire le nombre d'appels au serveur de noms pour des opérations de recherche. Dans la plupart des cas, conservez les réglages de mise en cache par défaut.

Lorsqu'un objet InitialContext est instancié, une association est établie entre l'instance InitialContext et un cache. Le contexte initial et tous les contextes retournés directement ou indirectement à la suite d'une recherche sur le contexte initial sont associés à cette même instance de cache. Par défaut, l'association est basée sur l'URL du fournisseur, en particulier, le nom d'hôte et le port. L'appelant peut spécifier un nom de cache et déroger ainsi à ce comportement par défaut. Une instance de cache d'un nom donné est partagée par toutes les instances de InitialContext configurées pour l'utilisation d'un cache de ce nom et créées avec le même chargeur de classes de contexte actif. Si elles utilisent des chargeurs de classes de contexte différents, deux applications de bean enterprise (EJB) exécutées sur le même serveur utilisent leurs propres instances de cache, même si les noms des caches sont identiques..

Après établissement d'une association entre une instance InitialContext et un cache, l'association ne change pas. Un objet javax.naming.Context renvoyé par une opération de recherche hérite de l'association de cache de l'objet Contexte sur lequel la recherche a été effectuée. Modifier les valeurs des propriétés de cache avec la méthode Context.addToEnvironment() ou Context.removeFromEnvironment() n'affecte pas le comportement de la mémoire cache. Vous pouvez modifier les propriétés affectant une instance de cache donnée avec chaque instanciation InitialContext.

Un cache est limité à un processus et ne persiste pas au delà de la durée de ce processus. Un objet mis en cache est retourné par les opérations de recherche jusqu'à ce que la durée de vie maximale du cache soit atteinte ou jusqu'à ce que la durée de vie maximale de l'entrée du cache de cet objet soit atteinte. Ensuite, une recherche sur l'objet provoque une régénération de l'entrée de cache de cet objet. Par défaut, les caches et les entrées de cache ont des durées de vie illimitées.

En règle générale, les objets placés en cache sont des entités relativement statiques et la péremption des objets ne constitue pas un problème. Cependant, vous pouvez appliquer un délai de péremption aux entrées du cache ou au cache lui-même afin que le contenu de ce dernier soit périodiquement régénéré.

Si une définition ou une redéfinition des liaisons est exécutée sur un objet, cette modification n'est pas répercutée sur les caches autres que celui associé au contexte à partir duquel la définition ou la redéfinition a été émise. Ce scénario est le plus probable lorsque de multiples processus sont impliqués, dans la mesure où des processus différents ne partagent pas le même cache et où les objets Contexte de toutes les unités d'exécution d'un processus partagent généralement la même instance de cache pour un fournisseur de services de nommage donné.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cnam_naming_caching
Nom du fichier : cnam_naming_caching.html