1

伙计们,

如何获取部署在 websphere 上的应用程序的当前状态(例如已启动/已停止)?我知道,我可以使用AdminControl.completeObjectName('type=Application,name=myApplication,*') ,但如果我只是调用 start 很可能以下命令将不会返回任何内容,因为应用程序尚未处于运行状态。同样,当我刚刚调用停止时,我想显示该应用程序实际上已停止,以便在应用程序仍在运行时我不会更改任何内容。任何想法我怎么能做到这一点?谢谢。

4

2 回答 2

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 中工作。

于 2012-04-03T07:08:02.260 回答
0

你可以尝试这样做。这有点工作,但这是可能的。

  1. 使用应用程序名称获取部署目标。由于您提到了多个节点,我猜测部署目标将是一个集群。
  2. 使用集群查找集群的成员,即服务器。
  3. 使用服务器名称检查每个单独服务器的状态。

如果启动了该集群的所有服务器,则启动应用程序。如果该集群的所有服务器都已停止,则应用程序将停止。如果一些启动而一些停止,则应用程序部分启动。

希望有帮助。

于 2012-04-17T00:20:48.967 回答