< Anterior | Próximo >

Lição 2 do Tutorial de Introdução: Criando um Aplicativo Cliente

Para inserir, excluir, atualizar e recuperar dados de sua grade de dados, você deverá gravar um aplicativo cliente. A introdução de amostra inclui um aplicativo cliente que pode ser usado para saber mais sobre a criação de seu próprio aplicativo cliente.

O arquivo Client.java no diretório wxs_install_root/ObjectGrid/gettingstarted/client/src/ é o programa cliente que demonstra como se conectar a um servidor de catálogos, obter a instância do ObjectGrid e usar a API ObjectMap. A API ObjectMap armazena dados como pares de valores de chave e é ideal para armazenar em cache os objetos que não possuírem nenhum relacionamento envolvido. As etapas a seguir discutem o conteúdo do arquivo Client.java.

Se você precisar armazenar em cache objetos que possuem relacionamentos, use a API EntityManager .

  1. Conexão com o serviço de catálogo por meio da obtenção de uma instância de ClientClusterContext

    Para se conectar a um servidor de catálogos, use o método connect da API ObjectGridManager. O método connect que é usado requer apenas o terminal do servidor de catálogos no formato de hostname:port. É possível indicar diversos terminais do servidor de catálogos separando a lista de valores de hostname:port com vírgulas. O fragmento de código a seguir demonstra como se conectar a um servidor de catálogos e obter uma instância de ClientClusterContext:

    ClientClusterContext ccc = ObjectGridManagerFactory.getObjectGridManager().connect("localhost:2809", null, null);
    Se as conexões com os servidores de catálogos forem bem-sucedidas, o método connect retorna uma instância de ClientClusterContext. A instância do ClientClusterContext é necessária para a obtenção do ObjectGrid a partir da API do ObjectGridManager.
  2. Obter uma instância do ObjectGrid.

    Para obter uma instância do ObjectGrid, use o método getObjectGrid da API do ObjectGridManager. O método getObjectGrid requer a instância de ClientClusterContext e o nome da instância da grade de dados. A instância do ClientClusterContext é obtida durante a conexão com o servidor de catálogos. O nome da instância de ObjectGrid é Grid que é especificado no arquivo objectgrid.xml. O fragmento de código a seguir demonstra como obter a grade de dados chamando o método getObjectGrid da API ObjectGridManager.

    ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “Grid”);
  3. Obter uma instância de Sessão.

    É possível obter uma Sessão da instância do ObjectGrid obtida. Uma instância da Sessão é necessária para obter a instância do ObjectMap e executar a demarcação da transação. O fragmento de código a seguir demonstra como obter uma instância da Sessão chamando o método getSession da API ObjectGrid.

    Session sess = grid.getSession();
  4. Obter uma instância do ObjectGrid.

    Após obter uma Sessão, é possível obter uma instância do ObjectMap a partir de uma instância da Sessão chamando o método getMap da API de Sessão. Você deve transmitir o nome do mapa como parâmetro para o método getMap para obter a instância de ObjectMap. O fragmento de código a seguir demonstra como obter o ObjectMap chamando o método getMap da API de Sessão.

    ObjectMap map1 = sess.getMap("Map1");
  5. Use os métodos ObjectMap.

    Depois que uma instância ObjectMap for obtida, será possível usar a API ObjectMap. Lembre-se de que a interface ObjectMap é um mapa transacional e requer demarcação de transação usando os métodos begin e commit da API Session. Se não houver demarcação de transação explícita no aplicativo, as operações do ObjectMap serão executadas com transações de confirmação automática.

    O fragmento de código a seguir demonstra como usar a API ObjectMap com uma transação de confirmação automática.

    map1.insert(key1, value1);

    O fragmento de código a seguir demonstra como usar a API ObjectMap com demarcação de transação explícita.

    sess.begin();
    map1.insert(key1, value1);
    sess.commit();
  6. Opcional: Feche a sessão. Após todas as operações de Sessão e ObjectMap serem concluídas, feche a sessão com o método Session.close(). A execução desse método retorna os recursos que estavam sendo usados pela sessão.
    sess.close();   
    Como resultado, as chamadas de método getSession() subsequentes são retornadas mais rapidamente e menos objetos de Sessão ficam no heap.

Ponto de verificação de lições

Nesta lição, você aprendeu como criar um aplicativo cliente simples para executar operações da grade de dados.
< Anterior | Próximo >