HP Integrity NonStop H-Series User Manual
Page 104

address.add("host", hostControllerName);
address.add("server", this.serverName);
logger.info("The command being executed is --" + op.asString());
ModelNode returnVal = client.execute(op);
String result = returnVal.get("outcome").toString();
logger.info("Result : " + result);
System.out.println("Stopped NSASJ server instance " + serverName );
} else {
logger.error("Server name cannot be null");
}
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}
}
/**
* shutdownAllServers() method - shutdown all running server instances under a given Host Controller
*
* @param - takes no arguments
* @return - void
*/
public void shutdownAllServers() {
try {
ModelNode op = new ModelNode();
op.get("operation").set("shutdown");
ModelNode address = op.get("address");
address.add("host", hostControllerName);
handleAllCase("server", address);
ModelNode nd = null;
List
if (all != null) {
Iterator
while (it.hasNext()) {
ModelNode op1 = new ModelNode();
op1.get("operation").set("shutdown");
ModelNode address1 = op1.get("address");
address1.add("host", hostControllerName);
nd = (ModelNode) it.next();
String value1 = extractServerName(nd);
address1.add("server", value1);
logger.info("Shutting down server" + value1);
ModelNode returnVal = client.execute(op1);
String result = returnVal.get("outcome").toString();
logger.debug("Result : " + result);
}
System.out.println("Stopped all NSASJ server instances");
} else {
logger.warn("No servers to shutdown!");
}
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}
}
private String extractServerName(ModelNode nd) {
if (nd != null) {
int bindex = (int) nd.toJSONString(true).indexOf("{ \"");
int eindex = (int) nd.toJSONString(true).indexOf("\" :");
String subStr = (nd.toJSONString(true).intern().substring(bindex, eindex));
subStr = subStr.split("\"")[1];
return subStr;
} else
return null;
}
private ListModelNode handleAllCase(String key, ModelNode address) {
ModelNode resConfigOp = new ModelNode();
resConfigOp.get("operation").set("read-children-resources");
List
Iterator
ModelNode resConfigAddr = resConfigOp.get("address");
while (it.hasNext()) {
resConfigAddr.add((ModelNode) it.next());
}
resConfigOp.get("child-type").set(key);
logger.trace("resConfigAddr is " + resConfigAddr.asString());
logger.trace("resConfigOp is " + resConfigOp.asString());
ModelNode returnVal = null;
try {
returnVal = this.client.execute(resConfigOp);
if (!(returnVal.get("outcome").toString()).equalsIgnoreCase("\"failed\"")) {
List
return RESULT;
}
} catch (IOException e) {
logger.error(e.getMessage());
e.printStackTrace();
}
return null;
}
104 Programmatic Management of NSASJ using API