13.3 Definindo configurações de cache

Você pode usar a página Cache para exibir e mudar as definições de configuração de cache de um ambiente de servidor de aplicativos em cluster ou sem cluster. Suas mudanças são gravadas imediatamente, mas só serão ativadas no próximo reinício do usuário-aplicativo.

DICA:Para reiniciar o aplicativo de usuário, você pode proceder de uma das seguintes maneiras: reinicializar o servidor de aplicativos, redistribuir o aplicativo (se WAR foi mudado de alguma forma) ou forçar o aplicativo a reiniciar (como descrito na documentação do seu servidor de aplicativos).

Para definir configurações de cache, considere o seguinte:

13.3.1 Como o cache é implementado

No aplicativo de usuário do Identity Manager, o cache é implementado por meio do JBoss Cache. JBoss Cache é uma arquitetura de cache de código-fonte aberto que está incluída no JBoss Application Server, mas também é executada em outros servidores de aplicativos.

Para saber mais sobre a JBoss Cache, vá até www.jboss.org/products/jbosscache.

13.3.2 Como as configurações de cache são armazenadas

Existem dois níveis de configurações disponíveis para você controlar a configuração de cache. Você pode utilizá-los para ajustar o comportamento do cache do aplicativo de usuário do Identity Manager.

Nível

Descrição

Configurações globais

As configurações globais estão armazenadas em um local central (o cofre de identidade) para que os diversos servidores de aplicativos possam usar os mesmos valores de configuração. Por exemplo, alguém que tenha um cluster de servidores de aplicativos normalmente usa configurações globais para os valores de configuração do cluster.

Para encontrar as configurações globais no cofre de identidade, procure o seguinte objeto no driver do aplicativo de usuário do Identity Manager:


configuration.AppDefs.AppConfig

Por exemplo:


configuration.AppDefs.AppConfig.MyUserApplicationDriver.MyDriverSet.MyOrg

O atributo XmlData do objeto Configuração contém os dados de configurações globais.

Configurações locais

As configurações locais são armazenadas separadamente em cada servidor de aplicativos para que determinado servidor possa anular o valor de uma ou mais configurações globais. Por exemplo, convém especificar uma configuração local para remover um servidor de aplicativos do cluster especificado nas configurações globais ou talvez reatribuir um servidor a outro cluster.

Para encontrar as configurações locais em seu servidor de aplicativos, procure este arquivo no diretório conf da configuração do servidor JBoss:


sys-configuration-xmldata.xml

Por exemplo:


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

Se seu servidor tem configurações locais, os dados estão contidos nesse arquivo. (Se não houver configurações locais especificadas, o arquivo não existe.)

Você deve considerar as configurações globais como os valores padrão de todo servidor de aplicativos que utiliza determinada instância do driver do aplicativo de usuário. Uma mudança em uma configuração global afeta cada um desses servidores (no próximo reinício de usuário-aplicativo), exceto nos casos em que um servidor específico estabelece um valor local que a anule.

13.3.3 Como as configurações de cache são exibidas

A página Cache exibe as atuais configurações de cache (desde o último reinício de usuário-aplicativo). Ela também exibe os valores globais e locais dessas configurações, e permite que você as mude (para usar no próximo reinício de usuário-aplicativo).

Descrição: Descrição: Ilustração

As configurações globais sempre têm valores. As configurações locais são opcionais.

13.3.4 Configurações básicas de cache

Essas configurações de cache se aplicam a servidores de aplicativos em cluster e sem cluster.

Para definir configurações básicas de cache:

  1. Vá até a página Cache.

  2. Na seção Configuração de Cache da página, especifique valores globais ou locais para as seguintes configurações, conforme apropriado:

    Configuração

    O que fazer

    Tempo de Espera para Aquisição de Bloqueio

    Especifique o intervalo de tempo (em milissegundos) que o cache aguarda por um bloqueio em um objeto. Você pode aumentar essa configuração se o aplicativo de usuário receber muitas exceções de tempo de espera de bloqueio no registro do aplicativo. O padrão é 15000 ms.

    Classe de Política de Expulsão

    Especifique o nome de classe da política de expulsão de cache a ser usada. O padrão é a política de expulsão do LRU que o Jboss Cache oferece:

    
    org.jboss.cache.eviction.LRUPolicy
    

    Se apropriado, você poderá mudá-la para outra política que tenha o suporte do JBoss Cache.

    Para saber sobre as políticas de expulsão suportadas, vá até www.jboss.org/products/jbosscache.

    Segundos de Intervalo para Despertar

    Especifique o intervalo de tempo (em segundos) que a política de expulsão de cache aguarda antes de despertar para executar as seguintes ações:

    • Processar os eventos no nó expulso
    • Limpar o limite de tamanho e descartar nós

    Máx. de Nós

    Especifique o número máximo de nós permitido no cache. Para não ter limite, especifique:

    
    0
    

    Segundos de Tempo de Operação

    Especifique o tempo ocioso (em segundos) antes de o nó ser descartado. Para não ter limite, especifique:

    
    0
    

    Essas configurações são obrigatórias, o que significa que deve haver um valor global para cada um e, opcionalmente, um valor local.

    Para anular o valor global de uma configuração com um valor local, marque a caixa de seleção Habilitar Local para essa configuração. Em seguida, especifique o valor local. (Certifique-se de que todos os valores locais sejam válidos. Caso contrário, você não poderá gravar suas mudanças.)

    NOTA:Para as configurações em que Habilitar Local estiver desmarcada, os valores locais existentes serão apagados quando você gravar.

  3. Clique em Gravar.

  4. Quando estiver pronto para ativar suas configurações gravadas, reinicie o aplicativo de usuário nos servidores de aplicativos apropriados.

13.3.5 Configurações de cache para clusters

Esta seção informa como configurar o cache quando você executa o aplicativo de usuário do Identity Manager em um cluster de servidores de aplicativos. Você precisa saber o seguinte:

Como o cluster é implementado

No aplicativo de usuário do Identity Manager, o suporte a cluster do cache é implementado por meio do JGroups. JGroups é uma arquitetura de cluster de código-fonte aberto que está incluída no JBoss Application Server, mas também é executada em outros servidores de aplicativos.

O cluster do aplicativo de usuário consiste em nós em uma rede que executam o JGroups e usam um ID de Grupo comum. Por padrão, o ID de Grupo fornecido para o cluster do aplicativo de usuário é um UUID parecido com este:

c373e901aba5e8ee9966444553544200

O UUID ajuda a garantir a exclusividade para que o ID de Grupo do cluster do aplicativo de usuário não entre em conflito com os IDs de Grupo de outros clusters em seu ambiente. Por exemplo, o próprio JBoss Application Server usa dois clusters do JGroups e reserva os IDs de Grupo DefaultPartition e TreeCache para eles.

Para saber mais sobre JGroups, vá até www.jboss.org/products/jgroups.

Como o cache funciona com um cluster

Quando você inicia o aplicativo de usuário, as definições de configuração do cache do aplicativo determinam se devem participar de um cluster e replicar as mudanças do cache nos outros nós desse cluster. Se o cluster estiver habilitado, o aplicativo de usuário finalizará a replicação com o envio de mensagens de invalidação de entrada de cache em cada nó quando ocorrerem mudanças.

Preparando o uso de um cluster

São necessários duas etapas importantes para se usar cache em um cluster:

  1. Configurar o cluster do JGroups

    Isso envolve instalar o JBoss Application Server para usar a configuração todos e distribuir o aplicativo de usuário do Identity Manager (IDM.war) em cada servidor do cluster, normalmente colocando-o no diretório farm.

  2. Habilitar o uso do cluster nas definições de configuração do cache do aplicativo de usuário

    Consulte Definindo configurações de cache para clusters (abaixo).

Definindo configurações de cache para clusters

Depois que um cluster estiver pronto para ser usado, você poderá especificar configurações para o suporte do cache em todo esse cluster.

Para definir configurações de cache para clusters:

  1. Vá até a página Cache.

  2. Na seção Configuração de Cluster da página, especifique valores globais ou locais para as seguintes configurações, conforme apropriado:

    Configuração

    O que fazer

    Cluster Habilitado

    Selecione Verdadeiro para replicar mudanças de cache nos outros nós do cluster especificado pelo ID de Grupo. Para não participar de um cluster, selecione Falso.

    ID de Grupo

    Especifique o ID de Grupo do cluster do JGroups em que você deseja participar. Não é necessário mudar o ID de Grupo padrão fornecido para o cluster do aplicativo de usuário, a menos que você queira um cluster diferente.

    Lembre-se de que os seguintes IDs de Grupo são reservados o uso do JBoss Application Server: DefaultPartition e TreeCache.

    DICA:Para ver o ID de Grupo em mensagens de registro, verifique se o nível do registro de cache (com.sssw.fw.cachemgr) está definido como Informações ou superior.

    Propriedades de Cluster

    Especifique a pilha de protocolo do JGroups para o cluster especificado pelo ID de Grupo. Essa configuração deve ser usada por administradores experientes que talvez precisem ajustar as propriedades do cluster. Se esse não é o seu caso, não mude a pilha de protocolo padrão.

    Para ver as atuais propriedades de cluster, clique em ver.

    Para obter detalhes sobre a pilha de protocolo do JGroups, vá até www.joss.org/wiki/Wiki.jsp?page=JGroups.

    Para anular o valor global de uma configuração com um valor local, marque a caixa de seleção Habilitar Local para essa configuração. Em seguida, especifique o valor local.

    NOTA:Para as configurações em que Habilitar Local estiver desmarcada, os valores locais existentes serão apagados quando você gravar.

    Verifique se todos os nós do cluster especificam o mesmo ID de Grupo e Propriedades de Cluster. (Para ver essas configurações para determinado nó, é preciso acessar a interface de usuário do Identity Manager em execução no nó - navegando até o URL da interface de usuário desse servidor - e exibir a página Cache.)

  3. Clique em Gravar.

  4. Quando estiver pronto para ativar suas configurações gravadas, reinicie o aplicativo de usuário nos servidores de aplicativos apropriados.