Gestion du cache de référentiel à l'aide de JMX

Grâce à l'exposition du cache de référentiel via JMX, vous pouvez vérifier l'état du cache, effacer tout ou partie des ressources mises en cache, modifier la configuration du cache et surveiller les ressources du cache.

Étant donné que le cache de référentiel est exposé via JMX, vous pouvez utiliser tout outil servant à gérer ou à surveiller JMX. Spectrum inclut deux outils : JMX Console et JConsole.

Remarque : L'opération listCacheResourceNames n'est pas prise en charge par Spectrum JMX Console. Pour afficher une liste à partir du cache, utilisez JConsole.

Pour accéder au cache de référentiel via Spectrum JMX Console, procédez comme suit :

  1. Ouvrez JMX Console via l'URL suivante : http://<serveur>:<port>/jmx-console/
  2. Sous la section Domain: Spatial, sélectionnez Spatial:name=Cache,type=Remote Component
  3. Vous pouvez modifier les paramètres du cache géré, comme indiqué ci-dessous.

Pour accéder au cache de référentiel via JConsole, procédez comme suit :

  1. Si vous ne l'avez pas déjà fait, ajoutez les paramètres suivants à la lignewrapper.java.additional.6= dans le wrapper.conf, qui se trouve sous <Spectruminstall>\server\bin\wrapper:
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9127 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 
  2. Redémarrez le serveur.
  3. Accédez à <spectrum>/java64/bin/ et exécutez jconsole.exe
  4. Cliquez sur l'onglet MBeans.
  5. Sélectionnez Spatial > Composant distant > Cache
  6. Cliquez sur Attributes pour surveiller les paramètres et les statistiques du cache.
  7. Cliquez sur Operations pour modifier les paramètres du cache géré, comme indiqué ci-dessous.

Capacity : il s'agit du nombre de ressources mises en cache à tout moment par le composant distant. Si la capacité est modifiée, le cache de ressources existant est effacé et un nouveau cache est créé. Une fois la capacité atteinte, les anciennes ressources du cache sont supprimées pour laisser de la place aux ressources plus récentes. Il est important de garder à l'esprit que si une ressource utilisant d'autres ressources (comme une carte nommée utilisant plusieurs tables nommées) est mise en cache, cette ressource et l'ensemble des ressources qu'elle utilise sont elles aussi mises en cache.

Expire : il s'agit de l'heure d'expiration en millisecondes. Si la stratégie du cache est définie sur 2 (vérifier à l'expiration), cette valeur est utilisée comme intervalle pour rechercher toute mise à jour de la ressource lors de sa tentative d'accès.

Update Check Policy : il s'agit de la méthode employée pour vérifier si les ressources du cache ont besoin d'être mises à jour à la dernière version du référentiel. Les valeurs de stratégie possibles sont 0, 1 et 2. Où 0=jamais, 1=toujours et 2=vérifier à l'expiration. Ne jamais vérifier le cache de ressources signifie qu'aucune vérification de mise à jour des ressources n'est effectuée. Les ressources mises en cache peuvent être supprimées manuellement via JMX si elles sont modifiées dans le référentiel et que vous devez modifier le cache. Toujours vérifier le cache de ressources signifie que chaque fois qu'une ressource du cache est requise, sa conformité à la ressource du référentiel est vérifiée. Si la ressource a été modifiée, une nouvelle ressource est chargée dans le cache. Vérifier à l'expiration signifie que les ressources du cache sont vérifiées pour voir si elles ont été mises à jour uniquement si l'heure d'expiration depuis la dernière vérification est passée. L'heure d'expiration est la valeur définie dans la propriété expire. Cette valeur est exprimée en millisecondes.

Remove Resources : cette option est utilisée pour supprimer des ressources données du cache. Saisissez la structure de répertoires du référentiel que vous souhaitez supprimer du cache en commençant à la racine. Cette option est généralement utilisée lorsque la stratégie est définie sur Jamais et que vous mettez des ressources à jour dans le référentiel. Elle vous permet d'effacer les anciennes définitions des ressources du cache de sorte que, lorsque vous accédez de nouveau aux ressources, celles-ci sont mises à jour dans le cache à l'aide de la nouvelle définition. Il est possible d'utiliser le caractère générique * à la fin d'un chemin d'accès pour supprimer l'ensemble des ressources d'un répertoire ou de sous-répertoires. Par exemple, si vous souhaitez supprimer toutes les ressources du répertoire d'échantillons, saisissez /samples/*.

Clear Cache : cette option permet d'effacer le cache tout entier. Elle réinitialise également tous les compteurs des statistiques surveillées.

List Cache Resource Names : cette option est utilisée pour renvoyer l'ensemble des chemins d'accès aux ressources du cache. Si vous supprimez manuellement des ressources du cache via JMX, il est conseillé de commencer par établir la liste de l'ensemble des ressources mises en cache, pour obtenir une liste précise des chemins d'accès du cache à supprimer. Pour obtenir la liste, utilisez JConsole au lieu de JMX.

Remarque : Plus la capacité est grande, plus l'espace de mémoire utilisé est important. La capacité comme la stratégie doivent être définies en fonction de vos besoins spécifiques. Par exemple, si les ressources de votre référentiel ne changent jamais, une fois créées, la capacité peut être inférieure et la stratégie définie sur Jamais.