Pour pouvoir insérer, supprimer, mettre à jour et extraire des données dans votre grille de données, vous devez écrire une application client. L'exemple d'initiation inclut une application client que vous pouvez utiliser pour en savoir plus sur la création de votre propre application client.
Le fichier Client.java dans le répertoire racine_install_wxs/ObjectGrid/gettingstarted/client/src/ est le programme client qui montre comment se connecter à un serveur de catalogue, obtenir l'instance ObjectGrid et utiliser l'API ObjectMap.
L'API ObjectMap stocke les données comme paires clé-valeur et elle est idéale pour la mise en cache d'objets qui n'ont aucune relation.
Les étapes suivantes présentent le contenu du fichier Client.java.
Si devez mettre en cache des objets qui ont des relations, utilisez l'API EntityManager.
- Connectez-vous au service de catalogue en obtenant une instance ClientClusterContext.
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 finals 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("localhost:2809", null, null);
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.
- 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 ObjectGrid est Grid ; ce nom est spécifié dans le fichier objectgrid.xml. 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, “Grid”);
- 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();
- Obtenez une instance ObjectMap.
Après avoir obtenu une instance Session,
vous pouvez obtenir une instance ObjectMap depuis une instance Session en appelant la méthode getMap de l'API Session. Vous devez transmettre le nom de la mappe comme paramètre à la méthode getMap
pour obtenir l'instance ObjectMap. Le fragment de code suivant montre comment obtenir ObjectMap en appelant la méthode getMap de l'API Session.
ObjectMap map1 = sess.getMap("Map1");
- 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);
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();
- Facultatif : Fermez la session. Une fois toutes les opérations Session et ObjectMap terminées,
fermez la session à l'aide de la méthode Session.close().
Cette méthode renvoie les ressources qui étaient utilisées par la session.
sess.close();
Par conséquent, les appels suivants de la méthode getSession()
sont plus rapides, et moins d'objets Session se trouvent dans le segment.