Para trabajar con el resto de la guía de aprendizaje, debe crear y empaquetar un programa Java sencillo y dos archivos XML. Este conjunto de archivos define una configuración ObjectGrid sencilla con una instancia de ObjectGrid denominada accounting y una correlación customer.
El archivo SimpleDP.xml incluye una política de despliegue de un conjunto de correlaciones configuradas con una partición y cero réplicas mínimas necesarias.
Procedimiento
- En una ventana de línea de mandatos, vaya al directorio inicio_wxs.
- Cree un directorio denominado applib.
- Cree y compile la siguiente clase SimpleApp.java:
SimpleApp.java
// Este programa de ejemplo se proporciona TAL CUAL y se puede utilizar, ejecutar, copiar y modificar
// sin que el cliente tenga que pagar derechos
// (a) para su propia formación,
// (b) para desarrollar aplicaciones diseñadas para ejecutarse con un producto IBM WebSphere,
// para uso interno propio del cliente o para su redistribución por parte del cliente, como parte de una
// aplicación de ese tipo, en los productos propios del cliente.
// Material bajo licencia - Propiedad de IBM
// 5724-J34 (C) COPYRIGHT International Business Machines Corp. 2007-2009
package com.ibm.websphere.objectgrid.security.sample.guide;
import com.ibm.websphere.objectgrid.ClientClusterContext;
import com.ibm.websphere.objectgrid.ObjectGrid;
import com.ibm.websphere.objectgrid.ObjectGridManager;
import com.ibm.websphere.objectgrid.ObjectGridManagerFactory;
import com.ibm.websphere.objectgrid.ObjectMap;
import com.ibm.websphere.objectgrid.Session;
public class SimpleApp {
public static void main(String[] args) throws Exception {
SimpleApp app = new SimpleApp();
app.run(args);
}
/**
* leer y grabar la correlación
* @throws Exception
*/
protected void run(String[] args) throws Exception {
ObjectGrid og = getObjectGrid(args);
Session session = og.getSession();
ObjectMap customerMap = session.getMap("customer");
String customer = (String) customerMap.get("0001");
if (customer == null) {
customerMap.insert("0001", "fName lName");
} else {
customerMap.update("0001", "fName lName");
}
customer = (String) customerMap.get("0001");
// Cierre la sesión (opcional en la versión 7.1.1 y posterior) para un mejor rendimiento
session.close();
System.out.println("The customer name for ID 0001 is " + customer);
}
/**
* Obtener ObjectGrid
* @return una instancia de ObjectGrid
* @throws Exception
*/
protected ObjectGrid getObjectGrid(String[] args) throws Exception {
ObjectGridManager ogManager = ObjectGridManagerFactory.getObjectGridManager();
// Crear ObjectGrid
ClientClusterContext ccContext = ogManager.connect("localhost:2809", null, null);
ObjectGrid og = ogManager.getObjectGrid(ccContext, "accounting");
return og;
}
}
- Compile el paquete con este archivo y asigne al archivo JAR el nombre sec_sample.jar.
- Vaya al directorio inicio_wxs y cree un directorio denominado xml.
- En el directorio inicio_wxs/xml, cree los siguientes archivos de configuración:
SimpleApp.xml
<?xml version="1.0" encoding="UTF-8"?>
<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="accounting">
<backingMap name="customer" readOnly="false" copyKey="true"/>
</objectGrid>
</objectGrids>
</objectGridConfig>
El siguiente archivo XML configura el entorno de despliegue.
SimpleDP.xml
<?xml version="1.0" encoding="UTF-8"?>
<deploymentPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/deploymentPolicy ../deploymentPolicy.xsd"
xmlns="http://ibm.com/ws/objectgrid/deploymentPolicy">
<objectgridDeployment objectgridName="accounting">
<mapSet name="mapSet1" numberOfPartitions="1" minSyncReplicas="0" maxSyncReplicas="2"
maxAsyncReplicas="1">
<map ref="customer"/>
</mapSet>
</objectgridDeployment>
</deploymentPolicy>
Resultados
Estos archivos crean una configuración de ObjectGrid sencilla con una instancia de ObjectGrid denominada accounting y una correlación customer.