2011-11-18 43 views

回答

11

我不認爲有任何直接的方法來獲取應用程序的運行狀態,可以使用下面的代碼

serverstatus = AdminControl.completeObjectName('type=Application,name='your_application_name',*') 
print serverstatus 

如果serverstatus返回null,則應用程序沒有運行得到的AdminControl對象,如果應用程序正在運行,則會打印應用程序的詳細信息。

+0

工作過,謝謝。 – blank

+0

你可以添加其他參數,如'服務器= WPS00'或類似的東西嗎? – Pred

+0

回答了我自己的問題。您在搜索字符串中包含「process = WPS00」,它將查看特定的AppServers。 – Pred

4

這是我根據斯內漢的答案使用的。

import string 

def getAppStatus(appName): 
    # If objectName is blank, then the application is not running. 
    objectName = AdminControl.completeObjectName('type=Application,name=' + appName + ',*') 
    if objectName == "": 
     appStatus = 'Stopped' 
    else: 
     appStatus = 'Running' 
    return appStatus 

def appStatusInfo(): 
    appsString = AdminApp.list() 
    appList = string.split(appsString, '\r\n') 

    print '============================' 
    print ' Status | Application ' 
    print '============================' 

    # Print apps and their status 
    for x in appList: 
     print getAppStatus(x) + ' | ' + x 

    print '============================' 



appStatusInfo() 

樣本輸出

============================ 
Status | Application 
============================ 
Running | DefaultApplication 
Running | IBMUTC 
Stopped | some-ear 
Running | another-ear 
============================ 
+0

因此,我的Web控制檯表示應用程序處於部分啓動狀態,但是當我使用wsadmin腳本時,它會返回其安裝的所有AppServers,而不是實際顯示NULL或空白返回。這是否應該發生? – Pred

+0

如何運行此文件?我收到錯誤 NameError:名稱'AdminApp'未定義 –

1

有一些在馬蒂厄,科米爾的腳本需要更多的修改。

我們走吧。

它可以在任何行分隔符中工作。一般來說AdminApp.list()將使用「\」作爲分隔符行

import string 

def getAppStatus(appName): 
    # If objectName is blank, then the application is not running. 
    objectName = AdminControl.completeObjectName('type=Application,name='+ appName+',*') 
    if objectName == "": 
     appStatus = 'Stopped' 
    else: 
     appStatus = 'Running' 
    return appStatus 

def appStatusInfo(): 
    Apps=AdminApp.list().split(java.lang.System.getProperty("line.separator")) 

    print '============================' 
    print ' Status | Application ' 
    print '============================' 

    # Print apps and their status 
    for x in Apps: 
     print "X value", x 
     print getAppStatus(x) + ' | ' + x 

    print '============================' 



appStatusInfo() 
相關問題