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

Acessando o Cache Global com um Nó JavaCompute

É possível usar um nó JavaCompute para interagir com um mapa em um cache global ou em uma grade WebSphere eXtreme Scale externa.

Antes de iniciar:
É possível usar um nó JavaCompute para armazenar dados em um mapa global. É possível então criar outro nó JavaCompute que pode obter dados do cache global para processamento ou roteamento. O nó JavaCompute usa o objeto MbGlobalMap para acessar o cache global ou a grade externa. Essa classe pode ser usada para obter um mapa e para colocar dados em um mapa ou obter dados dele. Não é possível criar um mapa explicitamente, se você obtiver um mapa que não existe, o mapa será criado automaticamente. Quando você obtém um mapa global de uma grade externa, o método getGlobalMap estabelece uma conexão com a grade se não existir uma.

Interações com o cache ocorrem fora da transação do fluxo de mensagens e são confirmadas imediatamente. Se uma exceção for lançada no recebimento de dados do nó que interage com o cache, as interações do cache não serão recuperadas.

As etapas a seguir descrevem como um fluxo de mensagens inclui dados em um mapa e outro fluxo obtém os dados desse mapa.

  1. Crie um fluxo de mensagens que contenha um nó JavaCompute.

    É possível colocar o nó JavaCompute antes ou depois de um nó MQOutput. No exemplo a seguir, o nó JavaCompute é colocado depois de um nó MQOutput para que o nó JavaCompute possa usar o ID de mensagem da mensagem de saída.

    O gráfico mostra um nó MQInput que está conectado a um nó MQOutput, que está conectado a um nó JavaCompute.

  2. Clique duas vezes no nó JavaCompute. O assistente Nova Classe de Nó de Cálculo Java é aberto.
  3. Na área de janela Classe de Nó de Cálculo Java, forneça as informações apropriadas e, em seguida, clique em Avançar. Você pode aceitar os valores padrão clicando em Avançar.
  4. Na área de janela Modelo de Classe de Nó de Cálculo Java, selecione o modelo apropriado para seu cenário e, em seguida, clique em Concluir.

    O arquivo Java™ do modelo é aberto no editor, indicando onde você pode incluir seu próprio código.

  5. Para obter um mapa do cache integrado ou criar o mapa se ele não existir, inclua o objeto MbGlobalMap, conforme mostrado no exemplo a seguir. O objeto MbGlobalMap também é descrito na documentação da API do Plug-in Java.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap("MyMap");
    Este exemplo obtém o mapa chamado "MyMap". Se o mapa não existir, ele será criado. Como alternativa, quando estiver usando o cache integrado, você poderá usar o mapa padrão não especificando um nome do mapa, conforme mostrado no exemplo a seguir. Quando você está conectando a uma grade externa, não existe nenhum mapa padrão. Você deve especificar um nome de mapa válido na grade externa.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap();
    O cache usa mapas dinâmicos do WebSphere eXtreme Scale. Qualquer nome de mapa é permitido, exceto nomes que comecem com SYSTEM.BROKER, que são reservados para uso pelo broker. O mapa padrão é chamado SYSTEM.BROKER.DEFAULTMAP; é possível usar ou limpar este mapa.
    Para obter um mapa de uma grade externa, inclua o objeto MbGlobalMap, especificando o nome do mapa na grade externa e o nome do serviço configurável que é usado para conectar à grade:
    MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");
    Neste exemplo, o mapa, "MyMap.LUT", está em uma grade externa em um dispositivo XC10. O serviço configurável que é usado para conectar à grade é chamado "xc10Connection".
  6. Opcional: Especifique quanto tempo, em segundos, os dados permanecem no cache global 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. Você especifica esse tempo quando obtém um objeto MbGlobalMap. O valor se aplica a todas as entradas de cache que são criadas usando esse objeto MbGlobalMap. Para obter instruções detalhadas, consulte Removendo Dados do Cache Global.

  7. Para colocar dados no mapa, é preciso criar um par de chave e valor no mapa, como é mostrado no exemplo a seguir. Para chaves e valores, tipos primitivos e sequências Java são suportados. Apenas para a grade integrada, as chaves também podem ser matrizes de primitivas ou sequências.
    globalMap.put(key, val);
  8. Salve o fluxo de mensagens.
  9. Para acessar os dados armazenados de outro fluxo de mensagens, crie um fluxo que contenha um nó JavaCompute.

    Por exemplo, o fluxo de mensagens a seguir contém um nó JavaCompute que recupera as informações apropriadas do mapa e, em seguida, envia uma mensagem de resposta através de um nó MQReply.

    O gráfico mostra um nó MQInput conectado a um nó JavaCompute, que é conectado a um nó MQReply.

  10. Repita as etapas 2, 3 e 4 para criar um arquivo Java para seu novo nó JavaCompute.
  11. Use o objeto MbGlobalMap para obter o mapa que você criou na etapa 5 e, em seguida, obter os dados que você incluiu no mapa na etapa 6. Se você souber que os dados que está recuperando são uma sequência, por exemplo, especifique sequência quando obtiver os dados, conforme é mostrado no exemplo a seguir.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap("MyMap");
    ...
    String val = (String)globalMap.get(key);
    O exemplo a seguir mostra como obter os dados incluídos em um mapa em uma grade externa:
    MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");
    ...
    String val = (String)xc10Map.get(key);

    Para evitar que o cache se torne muito grande, quando concluir com um par de chave e valor, use o método remove() para excluir esses dados do mapa.

    É possível usar o assistente de conteúdo para listar as opções disponíveis ao construir código Java. Para acessar o assistente de conteúdo, coloque o cursor no ponto de inserção e, em seguida, clique em Editar > Assistente de Conteúdo ou pressione Ctrl+Espaço. Por exemplo, se você digitar "myMap", e então pressionar Ctrl+Espaço, poderá escolher em uma lista de opções, incluindo as ações a seguir.
    • remove, que remove um único objeto de um cache global
    • containsKey, que indica se existe uma chave em um mapa
    • update, que atualiza um objeto existente
    Todas as opções disponíveis são documentadas no Javadoc para a API do Plug-in Java (consulte API Java do Message Broker). Também é possível acessar o Javadoc para a API do Plugin Java por meio do menu Iniciar em Iniciar > Programas > IBM WebSphere Message Broker 8.0.0.0 > Java Programming APIs > Documentação da API do Java Plugin.
  12. Salve seu fluxo de mensagens.
  13. Implemente seus fluxos de mensagens.
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 | bc23770_