Desenvolvendo Aplicativos da Grade de Dados com APIs Java

É possível conectar-se ao servidor de catálogos, obter a instância de ObjectGrid e usar a API ObjectMap.

Antes de Iniciar

Você deve criar uma grade de dados simples na interface com o usuário. Consulte Criando grades de dados Simples para obter mais informações.

Passo a Passo do Aplicativo de Grade de Dados Simples

  1. Conecte-se ao serviço de catálogo obtendo uma instância do ClientClusterContext.

    O servidor de catálogos a ser especificado é exibido na página da interface com o usuário para a grade de dados simples que você criou. Clique em Grade de Dados > Grade de Dados Simples > my_simple_data_grid e use os valores que estão no campo Serviços de Catálogo.

    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("myXC10.myhost.com:2809", null, null);

    O método connect tenta se conectar a cada dispositivo na lista até que estabeleça uma conexão bem sucedida. O failover automático será fornecido se um dos outros dispositivo não responder.

    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. Obtenha 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 da grade de dados é o nome da grade de dados simples que você criou na interface com o usuário. 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, “my_simple_data_grid”);
  3. Configure as credenciais se segurança necessárias.
    Crie uma configuração de segurança do cliente e um gerador de credencial com um nome de usuário e senha que você fornece ao aplicativo. O nome de usuário e a senha que você usa devem ter permissão para acessar a grade de dados no dispositivo. Consulte Gerenciando Usuários e Grupos para obter informações adicionais sobre a criação de um usuário autorizado.
    		// Creates a ClientSecurityConfiguration object using the specified file
    		ClientSecurityConfiguration clientSC = ClientSecurityConfigurationFactory.getClientSecurityConfiguration();
    		clientSC.setSecurityEnabled(true);
    		// Creates a CredentialGenerator using the passed-in user and password.
    		CredentialGenerator credGen = new UserPasswordCredentialGenerator(username,password);
    		clientSC.setCredentialGenerator(credGen);
    		return clientSC;
  4. Obtenha 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();
  5. Obtenha uma instância ObjectMap.

    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. O nome da instância do mapa que você transmite ao método getMap tem o mesmo nome que a grade de dados que você criou na interface com o usuário. 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("my_simple_data_grid");
    O exemplo anterior usa a instância do mapa padrão que recebe o nome da grade de dados. Também é possível especificar um novo nome de mapa, como nos seguintes exemplos:
    ObjectMap map2 = sess.getMap("my_simple_data_grid.CT.P");  
    ObjectMap map3 = sess.getMap("my_new_map.NONE");
    O mapa my_simple_data_grid.CT.P é um mapa que usa o despejo no tempo de criação e bloqueio pessimista. O mapa my_new_map.NONE não possui nenhuma configuração de despejo ou de bloqueio. Consulte o Opções de Configuração de Mapa Dinâmico para obter informações adicionais.
  6. 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);

    As chaves usadas podem ser de um tipo Java existente, tal como java.lang.String ou Integer. Os valores podem consistir em qualquer tipo de objeto serializável.

    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();