[英]Error Running Jython Script using WSADMIN
我正在嘗試編寫一個簡單的腳本來重新啟動WebSphere Application Server。
以下是我的腳本:
ManagedProcessList=AdminControl.queryNames('WebSphere:type=Server,*')
for i in range(len(ManagedProcessList)) :
serverStatus=AdminControl.getAttribute(ManagedProcessList[i],
'state')
serverName=ManagedProcessList[i].split(',')[0].split('=')[1]
nodeName=ManagedProcessList[i].split(',')[3].split('=')[1]
if serverStatus == "STARTED":
if nodeName in ("WC_node") and serverName in ("server1"):
print
"restarting",serverName,"on",nodeName,"because it is
currently",serverStatus
AdminControl.stopServer(serverName,nodeName)
AdminControl.startServer(serverName,nodeName)
else:
print "Not restarting",serverName,"on",nodeName,"because
it is currently",serverStatus
它返回以下錯誤。
WASX7015E: Exception running command:
wsadmin>execfile('/home/raja/serverstat.py')
"execfile('/home/raja/serverstat.py')"; exception information:
com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in
String "WebSphere:W"; cannot create ObjectName.
命令輸出如下所示:
wsadmin>print AdminControl.queryNames('WebSphere:type=Server,*')
WebSphere:name=server1,process=server1,platform=proxy,node=WC_node,j2eeType=J2EEServer,version=7.0.0.41,type=Server,mbeanIdentifier=cells/WC_cell/nodes/WC_node/servers/server1/server.xml#Server_1183144161046,cell=WC_cell,spec=1.0,processType=UnManagedProcess
wsadmin>
如下更新腳本。
變化。
1.使用splitlines方法將“ AdminControl.queryNames”的結果轉換為列表的第1行
2.在第9行的IF條件語句中使用了'=='運算符來檢查節點名和服務器名
ManagedProcessList=AdminControl.queryNames('WebSphere:type=Server,*').splitlines()
for i in range(len(ManagedProcessList)) :
serverStatus=AdminControl.getAttribute(ManagedProcessList[i], 'state')
serverName=ManagedProcessList[i].split(',')[0].split('=')[1]
nodeName=ManagedProcessList[i].split(',')[3].split('=')[1]
if serverStatus == "STARTED":
if nodeName == "WC_node" and serverName == "server1":
print "restarting",serverName,"on",nodeName,"because it is currently",serverStatus
AdminControl.stopServer(serverName,nodeName)
AdminControl.startServer(serverName,nodeName)
else:
print "Not restarting",serverName,"on",nodeName,"because it is currently",serverStatus
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.