人,
如何获取部署在websphere上的应用程序的当前状态(例如已启动/已停止)?我知道,我可以使用AdminControl.completeObjectName('type=Application,name=myApplication,*')
但是如果我刚刚调用了启动,那么很可能以下命令将不返回任何内容,因为应用程序尚未处于运行状态。同样的方式,当我刚刚调用stop时,我想显示该应用程序实际上已停止,以便在应用程序仍在运行时我不会更改任何内容。我有什么想法可以做到这一点?感谢。
答案 0 :(得分:0)
就我而言,我通过这种方式在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。
答案 1 :(得分:0)
您可以尝试这样做。这有点工作,但这是可能的。
如果启动了该群集的所有服务器,则启动该应用程序。如果该群集的所有服务器都已停止,则应用程序将停止。如果某些已启动且某些已停止,则应用程序将部分启动。
希望有所帮助。