Especifique quando os dados são removidos automaticamente do cache global.
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.
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMapSessionPolicy sessionPol = new MbGlobalMapSessionPolicy(60);
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", sessionPol);
É 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.
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");
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.