Développement d'applications de grilles de données avec des API Java

Vous pouvez vous connecter au serveur de catalogue, obtenir une instance ObjectGrid et utiliser l'API ObjectMap.

Avant de commencer

Vous devez créer une grille de données simple dans l'interface utilisateur. Pour plus d'informations, voir Création de grilles de données simples.

Visite virtuelle d'application de grille de données simple

  1. Connectez-vous au service de catalogue via une instance ClientClusterContext.

    Le serveur de catalogue à spécifier est affiché dans la page d'interface utilisateur de la grille de données simple que vous avez créée. Cliquez sur Grille de données > Grille de données simple > my_simple_data_grid et utilisez les valeurs dans la zone Services de catalogue.

    Pour établir la connexion au serveur de catalogues, utilisez la méthode connect de l'API ObjectGridManager. La méthode connect utilisée requiert seulement un noeud final de serveur de catalogue au format nom_hôte:port. Vous pouvez indiquer plusieurs noeuds finaux de serveur de catalogue en séparant les valeurs hostname:port par une virgule. Le fragment de code suivant montre comment se connecter à un serveur de catalogue et obtenir une instance ClientClusterContext :

    ClientClusterContext ccc = ObjectGridManagerFactory.getObjectGridManager().connect("myXC10.myhost.com:2809", null, null);

    La méthode connect tente de se connecter à chaque dispositif de la liste jusqu'à ce qu'elle puisse établir une connexion. Un basculement automatique est effectué si l'un des autres dispositifs ne répond pas.

    Si les connexions aux serveurs de catalogue aboutissent, la méthode connect retourne une instance ClientClusterContext. L'instance ClientClusterContext est requise pour obtenir l'ObjectGrid à partir de l'API ObjectGridManager.
  2. Obtenez une instance ObjectGrid.

    Pour obtenir une instance ObjectGrid, utilisez la méthode getObjectGrid de l'API ObjectGridManager. La méthode getObjectGrid requiert l'instance ClientClusterContext et le nom de l'instance de grille de données. L'instance ClientClusterContext est obtenue pendant la connexion au serveur de catalogue. Le nom de l'instance de grille de données est le nom de la grille de données simple que vous avez créée dans l'interface utilisateur. Le fragment de code suivant montre comment obtenir la grille de données en appelant la méthode getObjectGrid de l'API ObjectGridManager.

    ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “my_simple_data_grid”);
  3. Définissez les droit d'accès de sécurité nécessaires.
    Créez une configuration de sécurité du client avec un nom d'utilisateur et un mot de passe que vous fournissez à l'application. Le nom d'utilisateur et le mot de passe que vous utilisez doivent avoir l'autorisation d'accéder à la grille de données sur le dispositif. Pour plus d'informations sur la création d'un utilisateur autorisé, voir Gestion des utilisateurs et des groupes.
    		// 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. Obtenez une instance Session.

    Vous pouvez obtenir une session de l'instance ObjectGrid obtenue. Une instance Session est indispensable pour obtenir l'instance ObjectMap et pour effectuer une démarcation de transaction. Le fragment de code suivant montre comment obtenir une instance Session en appelant la méthode getSession de l'API ObjectGrid.

    Session sess = grid.getSession();
  5. Obtenez une instance ObjectMap.

    Après avoir obtenu une instance Session, vous pouvez obtenir une instance ObjectMap à partir d'une instance Session en appelant la méthode getMap de l'API Session. Le nom d'instance de mappe que vous envoyez à la méthode getMap porte le nom de la grille de données que vous avez créée dans l'interface utilisateur. Le fragment de code suivant montre comment obtenir ObjectMap en appelant la méthode getMap de l'API Session.

    ObjectMap map1 = sess.getMap("my_simple_data_grid");
    L'exemple précédent utilise l'instance de mappe par défaut qui est nommé d'après la grille de données. Vous pouvez également indiquer un nouveau nom de mappe, comme dans les exemples suivants :
    ObjectMap map2 = sess.getMap("my_simple_data_grid.CT.P");  
    ObjectMap map3 = sess.getMap("my_new_map.NONE");
    La mappe my_simple_data_grid.CT.P est une mappe qui utilise l'expulsion en fonction de l'heure de création et le verrouillage pessimiste. La mappe my_new_map.NONE ne dispose pas de paramètres d'expulsion ou de verrouillage. Pour plus d'informations, voir Options de configuration de mappe dynamique.
  6. Utilisez les méthodes ObjectMap.

    Une fois une instance ObjectMap obtenue, vous pouvez utiliser l'API ObjectMap. N'oubliez pas que l'interface ObjectMap est une mappe transactionnelle et qu'elle requiert une démarcation de transaction à l'aide des méthodes begin et commit de l'API Session. Faute de démarcation de transaction explicite, les opérations ObjectMap s'exécutent avec des transactions de validation automatique.

    Le fragment de code suivant montre comment utiliser l'API ObjectMap avec une transaction de validation automatique.

    map1.insert(key1, value1);

    La clé que vous utilisez peut avoir n'importe quel type Java existant, tel que java.lang.String ou Entier. Les valeurs peuvent correspondre à n'importe quel type d'objet sérialisable.

    Le fragment de code suivant montre comment utiliser l'API ObjectMap avec une démarcation de transaction explicite.

    sess.begin();
    map1.insert(key1, value1);
    sess.commit();