Configurando objetos armazenáveis no cache com o arquivo cachespec.xml

Utilize esta tarefa para definir objetos em cache dentro do cachespec.xml, localizado dentro do módulo da Web WEB-INF ou diretório de enterprise bean META-INF.

Antes de Iniciar

Ativer o cache dinâmico. Consulte o artigo Usando o Serviço de Cache Dinâmico para obter informações adicionais.

Sobre Esta Tarefa

É possível salvar um cachespec.xml global no diretório de propriedades do servidor de aplicativos, mas o método recomendado é colocar o arquivo de configuração de cache com o módulo de implementação. O elemento raiz do arquivo cachespec.xml é <cache>, o qual contém elementos <cache-entry>.

Evitar Problemas Evitar Problemas: Em situações em que há um arquivo global cachespec.xml no diretório de propriedades do situação, e um arquivo cachespec.xml em um aplicativo, as entradas nos dois arquivos cachespec.xml são mescladas. Se houver entradas conflitantes nos dois arquivos, as entradas no arquivo cachespec.xml que está no aplicativo substituem as entradas no arquivo global cachespec.xml desse aplicativo.gotcha

O elemento <entrada-de-cache> pode ser aninhado no elemento <cache> ou em um elemento <instância-de-cache>. Os elementos <entrada-de-cache> aninhados no elemento <cache> são armazenados em cache na instância de cache padrão. Quaisquer elementos <entrada-de-cache> que estejam no elemento <instância-de-cache> são armazenados em cache na instância especificada no atributo name no elemento <instância-de-cache>.

Em um elemento <entrada-de-cache> estão parâmetros que permitem concluir as seguintes tarefas para ativar o cache dinâmico com o arquivo cachespec.xml:

Procedimento

  1. Desenvolva um arquivo cachespec.xml.
    1. Crie um arquivo de configuração de armazenamento em cache.

      No diretório <app_server_root>/properties, localize o arquivo cachespec.sample.xml.

    2. Copie o arquivo cachespec.sample.xml para cachespec.xml no módulo da Web WEB-INF ou o diretório do enterprise bean META-INF.
  2. Defina os elementos cache-entry necessários para identificar os objetos que podem ser armazenados em cache. Consulte o tópico Arquivo cachespec.xml para obter uma lista de elementos.
  3. Desenvolva as regras de ID de cache.

    Para armazenar em cache um objeto, o WebSphere Application Server deve saber como gerar IDs exclusivos para diferentes chamadas desse objeto. O elemento <cache-id> executa essa tarefa. Cada entrada de cache pode ter várias regras de ID de cache executadas em ordem até uma regra retornar o ID de cache que não está vazio ou não restarem mais regras para executar. Se nenhuma regra de geração de ID de cache produzir um ID de cache válido, o objeto não será armazenado em cache. Desenvolva os IDs de cache de uma das duas maneiras:

    • Utilize o elemento <component> definido na política de cache de uma entrada de cache (recomendado). Consulte o tópico Arquivo cachespec_xml para obter informações adicionais sobre o elemento <component>.
    • Grave o código Java™ customizado para construir o ID a partir das variáveis de entrada e do estado do sistema. Para configurar a entrada de cache utilize o gerador de ID, especifique o IdGenerator no arquivo XML, utilizando a tag <id_do_gerador>, por exemplo:
    <cache-entry>
         <class>servlet</class>
         <name>/servlet/CommandProcessor</name>
    		<cache-id>
         	<idgenerator>com.mycompany.SampleIdGeneratorImpl</idgenerator>
         	<timeout>60</timeout>
    		</cache-id>
    </cache-entry>
  4. Defina regras de ID de dependência. Utilize os elementos do ID de dependência para especificar identificadores adicionais de grupo de cache que associam várias entradas de cache ao mesmo identificador de grupo.

    O ID de dependência é gerado, concatenando-se a cadeia base do ID de dependência aos valores retornados por seus elementos componentes. Se um componente requerido retornar um valor nulo, então, todo o ID de dependência não será gerado nem utilizado. É possível validar os IDs de dependência explicitamente através da API de cache dinâmica ou utilizar outro elemento <invalidação> de cache-entry. Várias regras do ID de dependência podem existir por entrada de cache. Todas as regras do ID de dependência são executadas separadamente. Consulte o tópico do arquivo cachespec.xml para obter uma lista de elementos do <componente>.

  5. Invalide outras entradas de cache como efeito colateral do início desse objeto, se relevante. É possível definir regras de invalidação exatamente da mesma maneira que os IDs de dependência. No entanto, os IDs gerados pelas regras de invalidação são utilizados para invalidar as entradas de cache que possuem os mesmos IDs de dependência.

    O ID de invalidação é gerado, concatenando-se a cadeia base do ID de invalidação aos valores retornados por seus elementos componentes. Se um componente requerido retornar um valor nulo, então, todo o ID de invalidação não será gerado e nenhuma invalidação ocorrerá. Várias regras de invalidação podem existir por entrada de cache. Todas as regras de invalidação são executadas separadamente.

  6. Assegure-se de que sua política de cache esteja funcionando corretamente. É possível modificar as políticas no arquivo cachespec.xml enquanto seu aplicativo está em execução. O cache dinâmico recarrega o arquivo atualizado automaticamente. Se você estiver armazenando em cache o conteúdo estático e estiver incluindo a política de cache em um aplicativo pela primeira vez, deverá reiniciar o aplicativo. Não é necessário reiniciar o servidor de aplicativos para ativar a nova política de cache. Consulte o tópico Verificando a Página Armazenável em Cache para obter informações adicionais.

O que Fazer Depois

Geralmente, você declara vários elementos <entrada-de-cache> em um arquivo cachespec.xml.

Quando novas versões do cachespec.xml são detectadas, os critérios anteriores são substituídos. Os objetos armazenados em cache através do arquivo de políticas anterior não são automaticamente invalidados no cache; eles são reutilizados com a nova política ou eliminados do cache através de seu algoritmo de substituição.

Para cada um dos três IDs (cache, dependência, invalidação) gerados por entradas de cache, um <entrada-de-cache> pode conter vários elementos. O cache dinâmico executa as regras <id-de-cache> em ordem e a primeira que gerar com êxito um ID será utilizada para armazenar em cache a saída. Se o objeto for armazenado em cache, cada um dos elementos <id-de-dependência> será executado para construir um conjunto de IDs de dependência para a entrada de cache. Por fim, cada um dos elementos <invalidação> é executado, construindo uma lista de IDs que o cache dinâmico invalida, sendo o objeto armazenado em cache ou não.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_dynamiccacheconfig
Nome do arquivo: tdyn_dynamiccacheconfig.html