É possível conectar-se ao servidor de catálogos, obter a instância de ObjectGrid e usar a API ObjectMap.
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 Serviços de Catálogo.
e use os valores que estão no campoPara 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.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”);
// 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;
É 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();
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");
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.
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();