코드 아래 고려하십시오. 이 방법은 클러스터를 사용하고 모든 서버를 검색하지만 상황에 맞게 수정할 수 있습니다. 첫 번째 블록을 수정하여 하나의 앱 내에서만 서버를 검색 할 수 있습니다.
# Get a list of all valid servers
cell=AdminConfig.list('Cell')
cellName=AdminConfig.showAttribute(cell, 'name')
clusterID=AdminConfig.getid('/ServerCluster:<My Cluster>/')
clusterList=AdminConfig.list('ClusterMember', clusterID)
servers=clusterList.split("\n")
# For each server check if its running using completeObjectName
# If it returns null its a valid server name, the server just isn't running
# If it returns info its running.
for serverID in servers:
serverName=AdminConfig.showAttribute(serverID, 'memberName')
nodeName=AdminConfig.showAttribute(serverID, 'nodeName')
aServer=AdminControl.completeObjectName('cell=' + cellName + ',node=' + nodeName + ',name=' + serverName + ',type=Server,*')
if (aServer != ""):
aState=AdminControl.getAttribute(aServer, 'state')
else:
aState="STOPPED"
# Since this server is not running write code here to start it.
print "Server", serverName, "is in a", aSt
당신이 사용하고 당신의 도움에 대한
덕분에 WAS ND하거나 WAS BASE/EXPRESS (여러 가능성 클러스터와 셀의 서버에)? BASE/EXPRESS의 경우 쿼리에서 'process'속성을 건너 뛸 수 있습니다. 그것이 ND라면, 그 대답은 그다지 사소하지 않을 것입니다. –
셀에 여러 서버가있는 WAS ND를 사용하지만 클러스터링은 사용하지 않습니다. 감사합니다 –