Product overview > Tutorials, examples, and samples > Java SE security tutorial
Java SE security tutorial - Step 1
Start servers and clients
- Start a catalog server named catalogServer...
cd objectgridRoot/bin
./startOgServer.sh catalogServer
- Launch a container server named c0...
startOgServer.sh c0 -objectGridFile ../xml/SimpleApp.xml -deploymentPolicyFile ../xml/SimpleDP.xml -catalogServiceEndpoints localhost:2809
- Launch the client...
java -classpath ../lib/objectgrid.jar;../applib/secsample.jar com.ibm.websphere.objectgrid.security.sample.guide.SimpleApp
- The output of this program is...
The customer name for ID 0001 is fName lName
Show mapsizes of the "accounting" grid
$ cd objectgridRoot/bin
$./xsadmin.sh -g accounting -m mapSet1 -mapSizes Connect to Catalog service at localhost:1099 *** Displaying Results for Grid - accounting, MapSet - mapSet1 *** Listing Maps for c0 Map Name: customer Partition #: 0 Map Size: 1 Shard Type: Primary Server Total: 1 Total Domain Count: 1
Stop servers
To stop container server c0.
stopOgServer.sh c0 -catalogServiceEndPoints localhost:2809You will see the following message.
CWOBJ2512I: ObjectGrid server c0 stopped.
You can stop a catalog server using...
./stopOgServer.sh catalogServer -catalogServiceEndPoints localhost:2809
If you shut down the catalog server, we will see the following message.
CWOBJ2512I: ObjectGrid server catalogServer stopped. Required files
The file below is the Java class for SimpleApp.
// SimpleApp.java 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); } /** * read and write the map * @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"); System.out.println("The customer name for ID 0001 is " + customer); } /** * Get the ObjectGrid * @return an ObjectGrid instance * @throws Exception */ protected ObjectGrid getObjectGrid(String[] args) throws Exception { ObjectGridManager ogManager = ObjectGridManagerFactory.getObjectGridManager(); // Create an ObjectGrid ClientClusterContext ccContext = ogManager.connect("localhost:2809", null, null); ObjectGrid og = ogManager.getObjectGrid(ccContext, "accounting"); return og; } }
The getObjectGrid method in this class obtains an ObjectGrid, and the run method reads a record from the customer map and updates the value.
To run this sample in a distributed environment, an ObjectGrid descriptor XML file SimpleApp.xml, and a deployment XML file, SimpleDP.xml, are created. The files are featured in the following example:
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>
The following XML file configures the deployment environment.
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>
This is a simple ObjectGrid configuration with one ObjectGrid instance named "accounting" and one map named "customer" (within the mapSet "mapSet1"). The SimpleDP.xml file features one map set that is configured with 1 partition and 0 minimum required replicas.
Parent topic:
Java SE security tutorial: overview
Next topic:
Java SE security tutorial - Step 2