Monday, June 1, 2009

WebSphere Jython procedures

def setVariable(cell, nodes, varName, varValue):
nodeList = nodes.split(" ")
for node in nodeList:
scope = 'cell='+cell+',node='+node
print "JOUT: Set variable " + varName + " with value " + varValue + " on node " + node
AdminTask.setVariable(['-variableName', varName , '-variableValue', varValue, '-scope', scope])

def removeVariable(cell, nodes, varName, varValue):
nodeList = nodes.split(" ")
for node in nodeList:
scope = 'cell='+cell+',node='+node
print "JOUT: Delete variable " + varName + " with value " + varValue + " on node " + node
AdminTask.removeVariable(['-variableName', varName , '-scope', scope])

def stopServer(server, node):
print "JOUT: Stop " + server + " on " + node
runningServer = AdminControl.completeObjectName("type=Server,node=" + node + ",process=" + server + ",*")
        if (len(runningServer) == 0):
print "JOUT: Server " + server + " on " + node + " has already been stopped"
else:
AdminControl.stopServer(server, node)

def startServer(server, node):
print "JOUT: Start " + server + " on " + node
runningServer = AdminControl.completeObjectName("type=Server,node=" + node + ",process=" + server + ",*")
        if (len(runningServer) == 0):
AdminControl.startServer(server, node)
else:
print "JOUT: Server " + server + " on " + node + " is already running on "

def syncNode(node):
print "JOUT: Synchronize " + node
Sync1 = AdminControl.completeObjectName('type=NodeSync,node='+ node +',*')
AdminControl.invoke(Sync1, 'sync')

def restartServers(servers, nodes):
nodeList = nodes.split(" ")
serverList = servers.split(" ")
for node in nodeList:
for server in serverList:
stopServer(server, node)
syncNode(node)
for server in serverList:
startServer(server, node)