CacheControl DataObject

O CacheControl especifica se um cache de adaptador de repositório deve ser limpo antes de uma operação ser executada e o modo de limpeza do cache.

É possível passar o CacheControl para os métodos get(), search() e update() da interface de programação do aplicativo (API). O adaptador LDAP usa CacheControl para limpar seu cache; os outros adaptadores prontos para uso ignoram o CacheControl por não possuírem cache. Caso esteja usando um adaptador customizado, é possível implementar sua própria manipulação para limpeza de cache usando CacheControl.

O objeto de dados CacheControl consiste no seguinte atributo:

mode
Especifica o modo de limpeza do cache de adaptador de repositório antes de uma operação ser executada.
Os valores válidos são:
  • clearEntity: Limpa o cache para a entidade especificada. Esse valor não tem nenhum efeito no método search().
  • clearAll: Limpa todas as informações armazenadas em cache no adaptador.
Os valores não distinguem maiúsculas e minúsculas. Não há valor padrão para esse atributo. Caso não especifique um valor ou especifique um valor que não seja clearEntity ou clearAll, aparecerá uma mensagem de erro.
Evite problema: O uso frequênte desse parâmetro para limpar o cache pode resultar em degradação do desempenho. Quando o cache é limpo, a operação subsequente precisa obter detalhes do repositório e atualizar o cache com esses novos dados recuperados. O impacto no desempenho é maior se for usado o modo clearAll, pois ele invalida o cache todo, e as operações subsequentes levam mais tempo para serem concluídas.

Definição de Esquema XML

A definição de esquema XML para o objeto de dados CacheControl é mostrada aqui:

<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>

Objetos de Dados de Amostra

O exemplo a seguir mostra um objeto de dados 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>


Termos de uso | Feedback