IBM wsadmin - 如何获取每个应用程序服务器的应用程序状态

时间:2016-02-12 17:42:56

标签: websphere jython wsadmin

我在IBM WebSphere产品中的特定Application Server上获取应用程序的状态时遇到问题。我可以进入wsadmin脚本控制台,并发出:

print AdminApp.list("WebSphere:cell=MYCELL,node=NODE01,server=WPS00")

并获取AppServer本身安装的应用程序列表,但是,当我发出命令时:

print AdminApp.isAppReady("Application01")
它显然正在整个细胞中寻找。然后我试图使用:

print AdminControl.completeObjectName("WebSphere:type=Application,name=Application01,*")

它不会返回任何东西,因为它部分启动。所以我针对已经完全运行的应用程序测试了它,它显示了它对应的所有mBeans。即使使用完全运行的应用程序,在completeObjectName选项中指定服务器也不起作用。

如何可靠地获取特定应用程序服务器上的应用程序状态,以便我可以重新启动需要重新启动的内容而不是整个AppTarget中的应用程序?

2 个答案:

答案 0 :(得分:1)

AdminControl.queryNames( “的WebSphere:类型=应用程序,名称= yourappname,*”)

将为正在运行的应用的每个实例返回一个mbean。 每个mbean的对象名称都包含节点和服务器名称。

要在特定服务器上查询应用程序的状态,请将Nodename和servername添加到上述queryNames调用中。获得一个mbean意味着它正在运行,什么都没有回来意味着它没有。

答案 1 :(得分:1)

试试这个:

AdminControl.queryNames("类型=应用程序,名称= Application01,细胞=了myCell,节点= NODE01,服务器= WPS00,*&#34)

把' *'获取为mbean定义的所有属性并从字符串中删除WebSphere。