Use o cache global que é fornecido com o WebSphere Message Broker para armazenar dados que você deseja reutilizar.
O cache global é integrado no broker. Por padrão, o cache está desativado; para usar o cache, selecione uma política de cache apropriada. A política de cache padrão cria uma topologia padrão de componentes de cache em um único broker. As alternativas para a topologia padrão são não ter política, para que seja possível controlar sua própria topologia, configurando as propriedades de cache nos grupos de execução ou usar um arquivo de política XML para ativar o cache nos vários brokers.
Por padrão, um grupo de execução no broker hospeda um servidor de catálogo. O servidor de catálogo controla o posicionamento de dados e monitora o funcionamento de servidores de contêiner. Até três outros grupos de execução nesse broker hospedam servidores de contêiner. Um servidor de contêiner é um componente integrado no grupo de execução que contém um subconjunto dos dados em cache. O servidor de catálogo e os servidores de contêiner são colocados em grupos de execução dinamicamente quando o broker é iniciado. Todos os grupos de execução podem se comunicar com o cache global, independentemente de estarem hospedando servidores de catálogo, servidores de contêiner ou nenhum dos dois. Cada grupo de execução contém um gerenciador de cache, que gerencia os componentes do cache integrados nesse grupo de execução. Para obter uma descrição dos componentes de cache, consulte Terminologia de Armazenamento de Dados em Cache.
Quando você usa a topologia padrão, as propriedades do cache para grupos de execução individuais são somente leitura; um erro será emitido se você tentar alterá-los. Quando você usa a topologia padrão, poderá especificar o intervalo de portas que o gerenciador de cache usa e o host do listener que é usado pelos componentes do cache. Se o seu computador tiver mais de um nome do host, a configuração do host do listener assegurará que os componentes do cache usarão o nome do host correto. Para configurar propriedades específicas para o grupo de execução, você deve primeiro alterar a propriedade de política de cache para nenhum. As propriedades do grupo de execução que foram configuradas mais recentemente pela política de nível do broker são retidas como um ponto inicial para customização.
Não é possível configurar propriedades explicitamente para cada grupo de execução. Por exemplo, talvez você queira especificar grupos de execução particulares para hospedar os servidores de catálogos e de contêiner para que possa ajustar o desempenho do broker. Quando a política de cache estiver configurada como nenhum, o gerenciador de cache em cada grupo de execução usará os valores que você configurou. As propriedades do grupo de execução que foram configuradas mais recentemente pela política de nível do broker são retidas como um ponto inicial para customização.
Se você parar o grupo de execução que contém o servidor de catálogos, o cache se tornará indisponível e os dados no cache serão perdidos. Portanto, se você desativar a topologia padrão, assegure-se de colocar o servidor de catálogos adequadamente. Se você reiniciar o grupo de execução que hospeda o servidor de catálogos, ele não poderá mais se comunicar com os servidores de contêiner em outros grupos de execução. Embora esses servidores de contêiner ainda estejam em execução, eles não fazem mais parte do cache e seus dados são perdidos. Portanto, você deve também reiniciar os grupos de execução que hospedam os servidores de contêiner. Ou então, reinicie o broker para reconfigurar todos os componentes do cache.
Ao usar um cache global que abranja vários brokers, assegure-se de que todos os servidores WebSphere eXtreme Scale armazenados em cluster em uma grade integrada usem o mesmo nome de domínio. Apenas servidores com o mesmo nome de domínio podem participar da mesma grade. Os clientes WebSphere eXtreme Scale usam o nome de domínio para identificar e distinguir entre grades integradas. Se você não especificar um nome de domínio no grupo de execução ou no arquivo de política de nível do broker, o broker criará um nome baseado nos nomes de servidores dos servidores de catálogos.
Por padrão, cada servidor inicia com um nome de domínio derivado pelo broker. Nas versões anteriores do WebSphere Message Broker, o nome de domínio de todos os servidores em todos os caches integrados era uma sequência vazia. Os servidores em domínios diferentes não podem colaborar na mesma grade. Portanto, para um cache que abrange vários brokers, migre esses brokers ao mesmo tempo.
É possível configurar o cache global usando os comandos do WebSphere Message Broker, o WebSphere Message Broker Explorer ou o API do Message Broker. Para obter informações adicionais, consulte Configurando o Cache Global Integrado.
É possível desativar todos os componentes do cache no broker, configurando a propriedade de política do cache como desativada. A política de cache é configurada como desativada por padrão.
É possível usar nós JavaCompute para armazenar e recuperar dados em um mapa no cache global. Quando você obtém um mapa global de uma grade externa, o método getGlobalMap faz uma conexão com a grade se não existir uma. Você pode usar suas próprias classes Para obter mais informações, consulte Acessando o Cache Global com um Nó JavaCompute.
Quando você obtém um objeto MbGlobalMap, também é possível especificar quanto tempo os dados permanecem no cache local antes de serem removidos automaticamente. Esse tempo é conhecido como o tempo de vida e é contado a partir de quando essa entrada de mapa foi atualizada pela última vez. O valor se aplica a todas as entradas de cache que são criadas usando esse objeto MbGlobalMap nessa instância do fluxo de mensagens. Os dados que já estão no mapa especificado, ou que são criados por outro objeto MbGlobalMap, não são afetados pelo valor de tempo de vida. É possível criar vários objetos MbGlobalMap em diferentes fluxos, grupos de execução ou brokers, todos sendo resolvidos para o mesmo mapa no cache global, mas com valores de tempo de vida diferentes.
Por padrão, o tempo de vida é configurado para zero para que os dados nunca sejam removidos. Para configurar um tempo de vida específico, crie uma política de sessão, que pode ser referenciada a partir do objeto MbGlobalMap. Para obter instruções detalhadas, consulte Removendo Dados do Cache Global.