This example uses the ObjectMap API to perform simple create, retrieve, update, and delete operations on the data grid.
import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.HashSet; import java.util.BitSet; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.logging.Level; import java.util.logging.Logger; import java.io.File; import java.io.PrintWriter; import java.io.FileWriter; import java.io.PrintWriter; import java.io.Serializable; import java.io.IOException; import java.text.DecimalFormat; import java.text.DateFormat; import java.text.SimpleDateFormat; import com.ibm.websphere.objectgrid.ClientClusterContext; import com.ibm.websphere.objectgrid.ConnectException; import com.ibm.websphere.objectgrid.ObjectGrid; import com.ibm.websphere.objectgrid.ObjectMap; import com.ibm.websphere.objectgrid.ObjectGridException; import com.ibm.websphere.objectgrid.ObjectGridManager; import com.ibm.websphere.objectgrid.ObjectGridManagerFactory; import com.ibm.websphere.objectgrid.ObjectGridRuntimeException; import com.ibm.websphere.objectgrid.Session; import com.ibm.websphere.objectgrid.config.BackingMapConfiguration; import com.ibm.websphere.objectgrid.config.ObjectGridConfigFactory; import com.ibm.websphere.objectgrid.config.ObjectGridConfiguration; import com.ibm.websphere.objectgrid.plugins.TransactionCallbackException; import com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration; import com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration; import com.ibm.websphere.objectgrid.security.config.ClientSecurityConfigurationFactory; import com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator; import com.ibm.websphere.objectgrid.security.plugins.builtins.UserPasswordCredentialGenerator; import com.ibm.websphere.objectgrid.server.CatalogServerProperties; public class SimpleGrid { static String gridName = "test"; static String mapName = gridName; static String username="xcadmin"; static String password="xcadmin"; static String hostName="localhost"; static ObjectGrid clientGrid=null; static ConcurrentLinkedQueue<Session> sessions = new ConcurrentLinkedQueue<Session>(); static synchronized public ObjectGrid getObjectGrid() { if (clientGrid == null) { ClientClusterContext ccc = null; try { new java.io.File(System.getProperty("java.io.tmpdir")).mkdirs(); } catch (Throwable t) { t.printStackTrace(); } ObjectGridManager ogm = ObjectGridManagerFactory.getObjectGridManager(); ClientSecurityConfiguration clientSC = getAdminClientConfig(); List<ObjectGridConfiguration> ogConfigs=new ArrayList<ObjectGridConfiguration>(); ObjectGridConfiguration lclGridConfig = ObjectGridConfigFactory.createObjectGridConfiguration(gridName); BackingMapConfiguration bmc = ObjectGridConfigFactory.createBackingMapConfiguration(mapName); bmc.setNumberOfBuckets(0); lclGridConfig.addBackingMapConfiguration(bmc); ogConfigs.add(lclGridConfig); HashMap<String,List<ObjectGridConfiguration>> overrideMap = new HashMap<String,List<ObjectGridConfiguration>>(); overrideMap.put(CatalogServerProperties.DEFAULT_DOMAIN,ogConfigs); ogm.setOverrideObjectGridConfigurations(overrideMap); try { ccc = ogm.connect(hostName+":2809", clientSC, null); } catch (Throwable e) { e.printStackTrace(); } if (ccc != null) { try { clientGrid = ogm.getObjectGrid(ccc, gridName); } catch (ObjectGridRuntimeException ogre) { ogre.printStackTrace(); } } } return clientGrid; } static public Session getSession() throws TransactionCallbackException, ObjectGridException { Session session = sessions.poll(); if (session == null && getObjectGrid()!=null) { session = getObjectGrid().getSession(); } if (session == null) throw new IllegalStateException("unable to initialize connection to objectgrid"); return session; } static public void putSession(Session session) { if (session.isTransactionActive()) { try { session.rollback(); } catch (Exception e) { } } sessions.add(session); } public static ClientSecurityConfiguration getAdminClientConfig() { // Creates a ClientSecurityConfiguration object using the specified file ClientSecurityConfiguration clientSC = ClientSecurityConfigurationFactory.getClientSecurityConfiguration(); clientSC.setSecurityEnabled(true); // Creates a CredentialGenerator using the passed-in user and password. CredentialGenerator credGen = new UserPasswordCredentialGenerator(username,password); clientSC.setCredentialGenerator(credGen); return clientSC; } public static void main(String args[]) throws Exception { for (int i=0;i<args.length;i++) { if(args[i].startsWith("-username:")) { username = args[i].substring(args[i].indexOf(":")+1); } else if(args[i].startsWith("-password:")) { password = args[i].substring(args[i].indexOf(":")+1); } else if(args[i].startsWith("-gridname:")) { gridName = args[i].substring(args[i].indexOf(":")+1); } else if(args[i].startsWith("-mapname:")) { mapName = args[i].substring(args[i].indexOf(":")+1); } else if(args[i].startsWith("-hostname:")) { hostName = args[i].substring(args[i].indexOf(":")+1); } else { System.out.println("usage: SimpleGrid [optional args]"); System.out.println(" -username:<username>"); System.out.println(" -password:<password>"); System.out.println(" -gridname:<gridname>"); System.out.println(" -mapname:<mapname>"); System.out.println(" -hostname:<hostname>"); System.exit(1); } } System.out.println("--------------------------------------------------------------"); System.out.println("Simple Grid Test"); System.out.println("--------------------------------------------------------------"); System.out.println("username : "+username); System.out.println("password : "+password); System.out.println("gridname : "+gridName); System.out.println("mapname : "+mapName); System.out.println("hostname : "+hostName); System.out.println("--------------------------------------------------------------"); if (getObjectGrid() == null) { System.out.println("ERROR: unable to connect to objectgrid at "+hostName); System.exit(1); } Session session = getSession(); ObjectMap map=session.getMap(mapName); session.begin(); Object data = map.get("TestKey"); if (data!=null) map.remove("TestKey"); map.insert("TestKey","TestValue"); session.commit(); putSession(session); } }