Sie können eine Verbindung zum Katalogserver herstellen, eine ObjectGrid-Instanz anfordern und die API "ObjectMap" verwenden.
Der anzugebende Katalogserver wird auf der Benutzerschnittstellenseite für das einfache Daten-Grid angezeigt, das Sie erstellt haben. Klicken Sie auf Katalogservices angezeigt werden.
, und verwenden Sie die Werte, die im FeldVerwenden 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("myXC10.myhost.com:2809", null, null);
Die Methode connect versucht, eine Verbindung zu jedem Gerät in der Liste herzustellen, bis ein Versuch erfolgreich ist. Automatisches Failover wird unterstützt, wenn eines der anderen Geräte nicht antwortet.
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.Zum Anfordern einer ObjectGrid-Instanz verwenden Sie die Methode getObjectGrid der API ObjectGridManager. Die Methode getObjectGrid erfordert die ClientClusterContext-Instanz und den Namen der Daten-Grid-Instanz. Die ClientClusterContext-Instanz wird während der Verbindung zum Katalogserver angefordert. Der Name der Daten-Grid-Instanz ist der Name des einfachen Daten-Grids, das Sie in der Benutzerschnittstelle erstellt haben. Das folgende Code-Snippet veranschaulicht, wie das Daten-Grid durch Aufruf der Methode "getObjectGrid" der API "ObjectGridManager" angefordert wird.
ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “my_simple_data_grid”);
// Erstellt ein ClientSecurityConfiguration-Objekt mit der angegebenen Datei ClientSecurityConfiguration clientSC = ClientSecurityConfigurationFactory.getClientSecurityConfiguration(); clientSC.setSecurityEnabled(true); // Erstellt einen CredentialGenerator mit der übergebenen Benutzername/Kennwort-Konfiguration. CredentialGenerator credGen = new UserPasswordCredentialGenerator(username,password); clientSC.setCredentialGenerator(credGen); return clientSC;
Sie können eine Session-Instanz von der angeforderten ObjectGrid-Instanz anfordern. 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();
Nach dem Anfordern einer Session-Instanz können Sie durch Aufruf der Methode getMap der API "Session" eine ObjectMap-Instanz von der Session-Instanz anfordern. Der Name der Map-Instanz, die Sie an die Methode getMap übergeben, ist identisch mit dem Namen des Daten-Grids, das Sie in der Benutzerschnittstelle erstellt haben. Das folgende Code-Snippet veranschaulicht, wie eine ObjectMap-Instanz durch Aufruf der Methode "getMap" der API "Session" angefordert wird.
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");Die Map my_simple_data_grid.CT.P ist eine Map, die die Bereinigung nach Erstellungszeit und pessimistisches Sperren verwendet. Die Map my_new_map.NONE hat keine Bereinigungs- und Sperreneinstellungen. Weitere Informationen finden Sie unter Konfigurationsoptionen für dynamische Maps.
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);
Die Schlüssel, die Sie verwenden, können einen vorhandenen Java-Typ wie java.lang.String oder Integer haben. Werte können sich aus jedem serialisierbaren Objekttyp zusammensetzen.
Das folgende Code-Snippet veranschaulicht, wie die API ObjectMap mit expliziter Transaktionsdemarkation verwendet wird.
sess.begin(); map1.insert(key1, value1); sess.commit();