Objet de données CacheControl

CacheControl indique si le cache de l'adaptateur de référentiel doit être effacé avant l'exécution d'une opération et le passage en mode effacement du cache.

Vous pouvez transmettre l'objet de données CacheControl aux méthodes get(), search() et update() de l'interface de programme d'application (API). L'adaptateur LDAP l'utilise pour effacer son cache ; les autres adaptateurs prêts à l'emploi l'ignorent car ils ne possèdent pas de cache. Si vous utilisez un adaptateur personnalisé, vous pouvez implémenter son propre traitement pour effacer le cache à l'aide de CacheControl.

L'objet de données CacheControl possède l'attribut suivant :

mode
Spécifie le mode d'effacement du cache de l'adaptateur de référentiel avant l'exécution d'une opération.
Les valeurs admises sont :
  • clearEntity : efface le cache de l'entité spécifiée. Cette valeur n'a pas d'impact sur la méthode search().
  • clearAll : efface toutes les informations mises en cache dans l'adaptateur.
Les valeurs ne doivent pas respecter la distinction majuscules-minuscules. Il n'existe pas de valeur par défaut pour cet attribut. Si vous ne spécifiez pas de valeur ou si vous spécifiez une valeur autre que clearEntity ou clearAll, un message d'erreur s'affiche.
Eviter les incidents : Une utilisation fréquente de ce paramètre pour effacer la mémoire cache risque d'entraîner une dégradation des performances. Lorsque la mémoire cache est effacée, l'opération suivante doit obtenir les détails du référentiel et mettre à jour la mémoire cache avec ces données nouvellement extraites. L'impact sur les performances est plus important si vous utilisez le mode clearAll, car il invalide la totalité du cache et l'exécution de l'opération suivante prend plus de temps.

Définition de schéma XML

La définition de schéma XML pour l'objet de données CacheControl est la suivante :

<xsd:complexType name="CacheControl">
  <xsd:complexContent>
    <xsd:extension base="Control">
      <xsd:sequence>
        <xsd:element name="mode" type="xsd:string" />
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Exemple d'objets de données

L'exemple suivant illustre un objet de données CacheControl :

<wim:Root>
  <wim:entities xsi:type="wim:PersonAccount">
    <wim:identifier uniqueName="cn=testUser1,dc=yourco,dc=com"/>
  </wim:entities>
  <wim:controls xsi:type="wim:CacheControl">
    <wim:mode>clearEntity</wim:mode>
  </wim:controls>
  <wim:controls xsi:type="wim:PropertyControl">
    <wim:properties>sn</wim:properties>
  </wim:controls>
</wim:Root>


Conditions d'utilisation | Commentaires