13.3 Configuration des paramètres de cache

La page Mise en cache permet d'afficher et de modifier les paramètres de configuration de cache dans un environnement de serveurs d'applications, qu'il soit en grappe ou non. Vos modifications sont enregistrées immédiatement, mais ne prendront effet qu'au prochain redémarrage de l'application utilisateur.

SUGGESTION:Pour redémarrer l'application utilisateur, effectuez l'une des opérations suivantes : redémarrez le serveur d'applications ; redéployez l'application (si le fichier WAR a changé d'une manière ou d'une autre) ; ou forcez l'application à redémarrer (comme décrit dans la documentation de votre serveur d'applications).

Pour configurer les paramètres de cache, vous devez acquérir les notions suivantes :

13.3.1 Comment est implémentée la mise en cache

Dans l'application utilisateur Identity Manager, la mise en cache est implémentée via JBoss Cache. JBoss Cache est une architecture de mise en cache Open Source incluse dans le serveur d'applications JBoss, mais qui fonctionne aussi sur d'autres serveurs d'applications.

Pour en savoir plus sur JBoss Cache, accédez à la page www.jboss.org/products/jbosscache.

13.3.2 Comment sont stockés les paramètres de cache

Il existe deux niveaux de paramètres qui permettent de contrôler la configuration d'un cache. Vous pouvez les utiliser pour adapter le fonctionnement de la mise en cache de l'application utilisateur Identity Manager.

Niveau

Description

Paramètres globaux

Les paramètres globaux sont stockés dans un emplacement central (le coffre-fort d'identité) afin que des serveurs d'applications multiples puissent utiliser les mêmes valeurs de paramètres. Par exemple, pour une grappe de serveurs d'applications, vous pouvez utiliser ces paramètres globaux pour la configuration de la grappe.

Pour trouver les paramètres globaux dans le coffre-fort d'identité, recherchez l'objet suivant sous le pilote de votre application utilisateur Identity Manager :


configuration.AppDefs.AppConfig

Par exemple :


configuration.AppDefs.AppConfig.MyUserApplicationDriver.MyDriverSet.MyOrg

L'attribut XmlData de l'objet Configuration contient les données des paramètres globaux.

Paramètres locaux

Les paramètres locaux sont stockés séparément sur chaque serveur d'applications afin qu'un serveur individuel puisse remplacer la valeur d'un ou de plusieurs paramètres globaux. Par exemple, vous pouvez spécifier un paramètre local pour retirer un serveur d'applications de la grappe définie dans les paramètres globaux, ou encore pour réassigner un serveur à une grappe différente.

Pour trouver les paramètres locaux sur votre serveur d'applications, recherchez le fichier suivant sous le répertoire conf de configuration de votre serveur JBoss :


sys-configuration-xmldata.xml

Par exemple :


jboss/server/IDM/conf/sys-configuration-xmldata.xml

Si votre serveur possède des paramètres locaux, ces données se trouvent dans ce fichier. Si aucun paramètre local n'a été spécifié, ce fichier n'existe pas.

Vous devez considérer les paramètres globaux comme les valeurs par défaut pour chaque serveur d'applications qui utilise une instance particulière du pilote de l'application utilisateur. Si vous modifiez un paramètre global, cela touche chacun de ces serveurs (au prochain redémarrage de l'application utilisateur), sauf dans les cas où un serveur particulier spécifie un remplacement local.

13.3.3 Comment sont affichés les paramètres de cache

La page Mise en cache affiche les paramètres de cache courants (depuis le dernier redémarrage de l'application utilisateur). Elle affiche également les valeurs globales et locales correspondantes de ces paramètres, et permet de les modifier (pour utilisation au prochain redémarrage de l'application utilisateur).

Description : Description : Illustration

Notez que les paramètres globaux possèdent systématiquement des valeurs. Les paramètres locaux sont facultatifs.

13.3.4 Paramètres de cache de base

Ces paramètres s'appliquent aux serveurs d'applications, qu'il soient en grappe ou non.

Pour configurer les paramètres de cache de base :

  1. Accédez à la page Mise en cache.

  2. Dans la section Configuration du cache de la page, spécifiez des valeurs globales ou locales pour les paramètres suivants, de façon appropriée :

    Paramètre

    Que faut-il faire ?

    Verrouiller le timeout d'acquisition

    Spécifiez le délai d'attente (en millisecondes) du cache pour l'obtention du verrouillage d'un objet. Vous pouvez augmenter la valeur de ce paramètre si l'application utilisateur récupère de nombreuses exceptions de timeout de verrouillage dans son journal. La valeur par défaut est 15 000 ms.

    Classe de règle d'éviction

    Spécifiez le nom de la classe pour la règle d'éviction du cache que vous souhaitez utiliser. La valeur par défaut est la règle d'éviction LRU fournie par JBoss Cache :

    
    org.jboss.cache.eviction.LRUPolicy
    

    Si nécessaire, vous pouvez la remplacer par une autre règle d'éviction prise en charge par JBoss Cache.

    Pour en savoir plus sur les règles d'éviction prises en charge, accédez à la page www.jboss.org/products/jbosscache.

    Intervalle de sortie de veille en secondes

    Spécifiez le délai d'attente (en secondes) de la règle d'éviction du cache avant de sortir de veille pour effectuer les opérations suivantes :

    • Traiter les événements de noeuds évincés
    • Nettoyer les noeuds périmés ou de taille limite

    Nombre de noeuds max

    Spécifiez le nombre maximum de noeuds autorisés dans le cache. Pour ne pas limiter, spécifiez :

    
    0
    

    Durée de vie en secondes

    Spécifiez le temps d'inactivité (en secondes) avant le nettoyage du noeud. Pour ne pas limiter, spécifiez :

    
    0
    

    Ces paramètres sont obligatoires, ce qui signifie qu'une valeur globale doit exister pour chacun, et éventuellement une valeur locale aussi.

    Pour remplacer la valeur globale d'un paramètre par une valeur locale, cochez la case Activer local pour ce paramètre. Spécifiez ensuite la valeur locale. Vérifiez que toutes vos valeurs locales sont valides. Sinon, vous ne pourrez pas enregistrer vos modifications.

    REMARQUE:Pour tous les paramètres dont la case Activer local est désélectionnée, les valeurs locales existantes seront supprimées lorsque vous enregistrez.

  3. Cliquez sur Enregistrer.

  4. Pour que vos paramètres enregistrés prennent effet, redémarrez l'application utilisateur sur le(s) serveur(s) d'applications concerné(s).

13.3.5 Paramètres de cache pour les grappes

Cette section explique comment configurer la mise en cache lorsque vous exécutez l'application utilisateur Identity Manager sur une grappe de serveurs d'applications. Vous devez acquérir les notions suivantes :

Comment est implémentée la mise en grappe

Dans l'application utilisateur Identity Manager, la prise en charge des grappes pour la mise en cache est implémentée via JGroups. JGroups est une architecture de mise en grappe Open Source incluse dans le serveur d'applications JBoss, mais qui fonctionne aussi sur d'autres serveurs d'applications.

Une grappe de l'application utilisateur est constituée de noeuds sur un réseau qui exécutent JGroups et qui utilisent un ID de groupe commun. Par défaut, l'ID de groupe fourni pour la grappe de l'application utilisateur est un UUID de la forme suivante :

c373e901aba5e8ee9966444553544200

L'UUID permet de garantir l'unicité afin que l'ID de groupe de la grappe de l'application utilisateur ne soit pas en conflit avec celui des autres grappes dans l'environnement. Par exemple, le serveur d'applications JBoss utilise lui-même deux grappes JGroups et leur réserve les ID de groupe DefaultPartition et TreeCache.

Pour en savoir plus sur JGroups, accédez à la page www.jboss.org/products/jgroups.

Comment fonctionne la mise en cache avec une grappe

Lorsque vous lancez l'application utilisateur, les paramètres de configuration de cache de l'application déterminent la participation ou non à une grappe, et la réplication des changements de cache sur les autres noeuds de cette grappe. Si la mise en grappe est activée, pour effectuer la réplication, l'application utilisateur envoie des messages d'invalidation d'entrée de cache à chaque noeud au fur et à mesure des changements.

Préparation à l'utilisation d'une grappe

Deux étapes majeures sont requises pour utiliser la mise en cache dans une grappe :

  1. Configuration d'une grappe JGroups

    Cela implique d'installer le serveur d'applications JBoss afin d'utiliser la configuration totale, puis de distribuer l'application utilisateur Identity Manager (IDM.war) sur chaque serveur de la grappe, généralement en la plaçant dans le répertoire farm.

  2. Activation de l'utilisation de cette grappe dans les paramètres de configuration de cache de l'application utilisateur

    Reportez-vous à la section Configuration des paramètres de cache pour les grappes ci-après.

Configuration des paramètres de cache pour les grappes

Une fois votre grappe prête à l'emploi, vous pouvez spécifier les paramètres afin de prendre en charge la mise en cache sur cette grappe.

Pour configurer les paramètres de cache pour les grappes :

  1. Accédez à la page Mise en cache.

  2. Dans la section Configuration de la grappe de la page, spécifiez des valeurs globales ou locales pour les paramètres suivants, de façon appropriée :

    Paramètre

    Que faut-il faire ?

    Grappe activée

    Sélectionnez Vrai pour répliquer les changement de cache sur les autres noeuds de la grappe spécifiée par l'ID de groupe. Si vous ne souhaitez pas de participation à une grappe, sélectionnez Faux.

    ID de groupe

    Spécifiez l'ID de groupe de la grappe JGroups à laquelle participer. Il est inutile de changer l'ID de groupe par défaut fourni pour la grappe de l'application utilisateur, sauf si vous voulez utiliser une autre grappe.

    Souvenez-vous que les ID de groupe suivants sont réservés au serveur d'applications JBoss : DefaultPartition et TreeCache.

    SUGGESTION:Pour afficher l'ID de groupe dans les messages de consignation, vérifiez que le niveau du journal de mise en cache (com.sssw.fw.cachemgr) est défini au moins sur Infos.

    Propriétés de grappe

    Spécifiez la pile de protocole JGroups pour la grappe définie par l'ID de groupe. Notez que ce paramètre est destiné aux administrateurs expérimentés qui souhaitent pouvoir régler les propriétés de grappe. Autrement, vous ne devez pas changer la pile de protocole par défaut.

    Pour afficher les propriétés de grappe courantes, cliquez sur Afficher.

    Pour plus d'informations sur la pile de protocole JGroups, accédez à la page www.joss.org/wiki/Wiki.jsp?page=JGroups.

    Pour remplacer la valeur globale d'un paramètre par une valeur locale, cochez la case Activer local pour ce paramètre. Spécifiez ensuite la valeur locale.

    REMARQUE:Pour tous les paramètres dont la case Activer local est désélectionnée, les valeurs locales existantes seront supprimées lorsque vous enregistrez.

    Vérifiez que tous les noeuds de votre grappe spécifient les mêmes ID de groupe et Propriétés de la grappe. Pour consulter ces paramètres pour un noeud particulier, vous devez accéder à l'interface utilisateur Identity Manager qui s'exécute sur ce noeud — en accédant à l'URL de l'interface utilisateur sur ce serveur — puis afficher sa page Mise en cache.

  3. Cliquez sur Enregistrer.

  4. Pour que vos paramètres enregistrés prennent effet, redémarrez l'application utilisateur sur le(s) serveur(s) d'applications concerné(s).