WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Removendo Dados do Cache Global

Especifique quando os dados são removidos automaticamente do cache global.

Antes de iniciar:

Crie um fluxo de mensagens que contenha um nó JavaCompute e crie um arquivo Java™ para esse nó. Para obter instruções detalhadas, consulte Acessando o Cache Global com um Nó JavaCompute.

Quando você obtém um objeto MbGlobalMap, é 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.

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.

É possível especificar o valor de tempo de vida de duas maneiras. Os exemplos a seguir demonstram como configurar um tempo de vida de 60 segundos para entradas de cache no mapa "myMap".
Exemplo 1
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
Exemplo 2
MbGlobalMapSessionPolicy sessionPol = new MbGlobalMapSessionPolicy(60);
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", sessionPol);
Os dados no mapa "myMap" são removidos automaticamente 60 segundos após serem atualizados pela última vez.

É 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. Entretanto, você deve estruturar o código de uma maneira específica quando deseja colocar várias entradas de cache, com diferentes valores de tempo de vida, no mesmo mapa no mesmo fluxo de mensagens.

No exemplo a seguir, os objetos MbGlobalMap são todos criados antes de as instruções put serem feitas. Todos os três objetos MbGlobalMap são resolvidos para o mesmo mapa subjacente. O valor de tempo de vida de cada objeto MbGlobalMap subsequente substitui o valor que foi configurado para o objeto anterior. Portanto, para cada instrução put, os dados são removidos após 20 segundos.
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMap m2 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
MbGlobalMap m3 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k1","v1");
m2.put("k2","v2");
m3.put("k3","v3");
No exemplo a seguir, cada instrução put é feita diretamente após o objeto MbGlobalMap associado ser criado. Portanto, a entrada de cache que é feita em cada instrução put assume um valor de tempo de vida diferente.
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
m1.put("k1","v1");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
m1.put("k2","v2");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k3","v3");

Para concluir a interação com o cache global, conclua as etapas restantes em Acessando o Cache Global com um Nó JavaCompute.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:53


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc23801_