簡體   English   中英

如何從WebSphere 7.0的wsadmin控制台獲取當前應用程序狀態

[英]How to get current application state from wsadmin console for WebSphere 7.0

鄉親們

如何獲得Websphere上部署的應用程序的當前狀態(例如已啟動/已停止)? 我知道,我可以使用AdminControl.completeObjectName('type=Application,name=myApplication,*')但是如果我剛剛調用start,那么以下命令很可能不會返回任何內容,因為app尚未處於運行狀態。 同樣,當我剛剛調用stop時,我想顯示該應用程序實際上已停止,以便在應用程序仍在運行時不會進行任何更改。 有什么想法可以做到嗎? 謝謝。

您可以嘗試執行此操作。 這需要一些工作,但是有可能。

  1. 使用應用程序名稱獲取部署目標。 由於您提到了多個節點,因此我猜想部署目標將是集群。
  2. 使用群集查找群集的成員,即服務器。
  3. 使用服務器名稱來檢查每個單獨服務器的狀態。

如果啟動了該群集的所有服務器,則將啟動該應用程序。 如果該群集的所有服務器都已停止,則該應用程序也將停止。 如果某些已啟動而某些已停止,則應用程序將部分啟動。

希望能有所幫助。

對於我來說,我通過以下方式在Websphere 6.1中獲得應用程序狀態:

#--------------------------------------------------------------
# get app object name
#--------------------------------------------------------------

appObjectNames = AdminControl.queryNames('type=Application,cell=' + cellName + 
    ',node=' + nodeName + ',process=' + serverName + ',name=' + appName + ',*')

lineSeparator = java.lang.System.getProperty('line.separator')
appObjectName = appObjectNames.split(lineSeparator)[0]
appObjectName = appObjectName.strip()

#--------------------------------------------------------------
# get application status
#--------------------------------------------------------------

if len(appObjectName) == 0:
    tprint(prefix + 'application ' + appName + ' is stopped')
else:        
    tprint(prefix + 'application ' + appName + ' is started')

我猜這也應該在WebSphere 7.0中工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM