Para insertar, suprimir, actualizar y recuperar datos de la
cuadrícula de datos, debe escribir una aplicación de cliente. El ejemplo de iniciación incluye una aplicación cliente que puede utilizar para aprender a crear su propia aplicación cliente.
El archivo Client.java del directorio
raíz_intal_wxs/ObjectGrid/gettingstarted/client/src/
es el programa cliente que muestra cómo conectarse a un servidor de catálogo,
obtener la instancia de ObjectGrid y utilizar la API ObjectMap.
La API ObjectMap almacena datos como pares de clave-valor y es ideal para almacenar en memoria caché objetos que no tienen relaciones implicadas. Los siguientes pasos describen el contenido del archivo Client.java.
Si necesita almacenar en memoria caché objetos que tienen relaciones, utilice la API EntityManager.
- Conéctese al servicio de catálogo obteniendo una instancia de ClientClusterContext.
Para conectarse al servidor de catálogo, utilice el método connect de la API ObjectGridManager.
El método connect que se utiliza sólo necesita el punto final de servidor de catálogo en el formato
nombre_de_host:puerto.
Pude indicar varios puntos finales de servidor de catálogo separando la lista de valores de
nombre_de_host:puerto con comas. El fragmento de código
siguiente muestra cómo conectar con un servidor de catálogo y obtener una instancia de ClientClusterContext:
ClientClusterContext ccc = ObjectGridManagerFactory.getObjectGridManager().connect("localhost:2809", null, null);
Si
las conexiones con los servidores de catálogo son satisfactorias, el método connect devuelve una
instancia ClientClusterContext. La instancia de ClientClusterContext es necesaria para obtener el
ObjectGrid de la API ObjectGridManager.
- Obtenga una instancia de ObjectGrid.
Para obtener una instancia de ObjectGrid, utilice el método getObjectGrid de la API ObjectGridManager.
El método getObjectGrid requiere tanto la instancia de ClientClusterContext, como el nombre de la
instancia de cuadrícula de datos. La instancia de ClientClusterContext se obtiene durante la conexión con el servidor de catálogo. El nombre de la instancia de ObjectGrid es Grid (cuadrícula) que se
especifica en el archivo objectgrid.xml. El siguiente
fragmento de código demuestra cómo obtener la cuadrícula de datos llamando al método getObjectGrid
de la interfaz de programación de aplicaciones ObjectGridManager.
ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “Grid”);
- Obtenga una instancia de Session.
Puede obtener una Session desde la instancia de
ObjectGrid obtenida. Es necesaria una instancia de Session para obtener la instancia de
ObjectMap, y realizar la demarcación de la transacción. En el siguiente fragmento de código se muestra cómo obtener una
instancia de Session llamando al método getSession de la API ObjectGrid.
Session sess = grid.getSession();
- Obtenga una instancia de ObjectMap.
Después de obtener una sesión, puede obtener una instancia de ObjectMap desde una sesión llamando al método
getMap de la interfaz de programación de aplicaciones de la sesión en cuestión. Debe pasar el nombre de la correlación como correlación al
métodogetMap para obtener la instancia de
ObjectMap. El
fragmento de código siguiente muestra cómo obtener ObjectMap llamando al método getMap de la API de
sesión.
ObjectMap map1 = sess.getMap("Map1");
- Utilice los métodos ObjectMap.
Después de obtener una instancia de ObjectMap, puede utilizar la API de ObjectMap. Recuerde que la interfaz de ObjectMap es una correlación transaccional y requiere la demarcación de transacción utilizando los métodos begin y commit de la API Session. Si no hay ninguna demarcación de transacción explícita en la aplicación, las operaciones de ObjectMap se ejecutan con transacciones de confirmación automática.
El siguiente fragmento de código demuestra cómo utilizar la API ObjectMap con una transacción de
confirmación automática.
map1.insert(key1, value1);
El siguiente fragmento de código demuestra cómo utilizar la API ObjectMap con la demarcación de transacción explícita.
sess.begin();
map1.insert(key1, value1);
sess.commit();
- Opcional: Cierre la sesión. Una vez que se hayan completado todas las operaciones Session y ObjectMap, cierre la sesión con el método Session.close().
Al ejecutar este método, se devuelven los recursos que la sesión estaba utilizando.
sess.close();
Como resultado, las siguientes llamadas al método getSession() se devolverán más rápido y habrá menos objetos Session en el almacenamiento dinámico.