Wenn Sie Daten in Ihrem Datengrid einfügen, löschen, aktualisieren und abrufen möchten, müssen Sie eine
Clientanwendung schreiben.
Das Einführungsbeispiel (gettingstarted) enthält eine Clientanwendung, die Sie verwenden können, um sich mit der Erstellung einer
eigenen Clientanwendung vertraut zu machen.
Die Datei Client.java im Verzeichnis WXS-Installationsstammverzeichnis/ObjectGrid/gettingstarted/client/src/
ist das Clientprogramm, das veranschaulicht, wie die Verbindung zu einem Katalogserver hergestellt, die
ObjectGrid-Instanz abgerufen und die API ObjectMap verwendet wird.
Die API ObjectMap speichert Daten in Form von Schlüssel/Wert-Paaren und eignet sich ideal
für das Caching von Objekten ohne Beziehungen.
In den folgenden Schritten wird der Inhalt der Datei
Client.java beschrieben.
Wenn Sie Objekte zwischenspeichern müssen, die Beziehungen haben, verwenden Sie die API
EntityManager.
- Verbindung zum Katalogservice durch Anfordern einer ClientClusterContext-Instanz herstellen.
Verwenden
Sie zum Herstellen einer Verbindung zum Katalogserver die Methode "connect" der API
"ObjectGridManager".
Mit der Methode connect, die verwendet wird, muss nur der Katalogserverendpunkt
im Format Hostname:Port angegeben werden.
Sie können mehrere Katalogserverendpunkte angeben, indem Sie die Liste
der Hostname:Port-Werte durch Kommas voneinander trennen.
Das folgende Code-Snippet veranschaulicht, wie die Verbindung zu einem
Katalogserver herstellt und eine ClientClusterContext-Instanz angefordert wird:
ClientClusterContext ccc = ObjectGridManagerFactory.getObjectGridManager().connect("localhost:2809", null, null);
Wenn die Verbindungen zu den Katalogservern erfolgreich hergestellt werden, gibt die Methode
connect eine ClientClusterContext-Instanz zurück.
Die
ClientClusterContext-Instanz ist erforderlich, um das ObjectGrid von der API "ObjectGridManager" abzurufen.
- ObjectGrid-Instanz anfordern.
Zum Anfordern einer ObjectGrid-Instanz verwenden Sie die Methode
"getObjectGrid" der API "ObjectGridManager".
Die Methode "getObjectGrid" erfordert die ClientClusterContext-Instanz und den Namen der
Datengridinstanz. Die ClientClusterContext-Instanz wird während der Verbindung zum Katalogserver
angefordert.
Der Name der ObjectGrid-Instanz ist Grid und in der Datei objectgrid.xml angegeben. Das folgende Code-Snippet veranschaulicht, wie das
Datengrid durch Aufruf der Methode
"getObjectGrid" der API "ObjectGridManager" angefordert wird.
ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “Grid”);
- Session-Instanz abrufen.
Sie können eine Session-Instanz von der angeforderten ObjectGrid-Instanz abrufen.
Eine Session-Instanz ist erforderlich, um die ObjectMap-Instanz abzurufen und die Transaktionsdemarkation durchzuführen.
Das folgende Code-Snippet veranschaulicht, wie eine Session-Instanz durch Aufruf der Methode
"getSession" der API "ObjectGrid" abgerufen wird.
Session sess = grid.getSession();
- ObjectMap-Instanz abrufen.
Nach dem Abrufen einer Session-Instanz können Sie durch Aufruf
der Methode "getMap" der API "Session" eine ObjectMap-Instanz
von der Session-Instanz abrufen.
Sie müssen den Namen der Map als Parameter an die Methode getMap
übergeben, um die ObjectMap-Instanz abzurufen. Das folgende Code-Snippet veranschaulicht, wie eine ObjectMap-Instanz durch Aufruf
der Methode "getMap" der API "Session" angefordert wird.
ObjectMap map1 = sess.getMap("Map1");
- ObjectMap-Methoden verwenden.
Nach dem Anfordern einer ObjectMap-Instanz können Sie die API ObjectMap verwenden.
Beachten Sie, dass
die Schnittstelle "ObjectMap" eine transaktionsorientierte Map ist und eine Transaktionsdemarkation durch die
Verwendung der Methoden "begin" und "commit" der API
"Session" erfordert. Wenn keine explizite Transaktionsdemarkation
in der Anwendung stattfindet, werden die ObjectMap-Operationen über Transaktionen mit automatischer Festschreibung
ausgeführt.
Das folgende Code-Snippet veranschaulicht, wie die API
"ObjectMap" mit einer Transaktion mit automatischer Festschreibung verwendet wird.
map1.insert(key1, value1);
Das folgende
Code-Snippet veranschaulicht, wie die API "ObjectMap" mit expliziter Transaktionsdemarkation verwendet wird.
sess.begin();
map1.insert(key1, value1);
sess.commit();
- Optional: Schließen Sie die Sitzung. Nach Abschluss aller Session- und ObjectMap-Operationen schließen Sie die
Sitzung mit der Methode Session.close().
Diese Methode gibt die Ressourcen zurück, die von der Sitzung verwendet wurden.
sess.close();
Nachfolgende Aufrufe der Methode getSession()
kehren schneller zurück, und es befinden sich weniger Session-Objekte im Heapspeicher.