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

IBM wsadmin - How to get the status of an application per application server

我在获取 IBM WebSphere 产品内特定应用程序服务器上的应用程序状态时遇到问题。我可以进入 wsadmin 脚本控制台,然后发出:

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

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

print AdminApp.isAppReady("Application01")

显然是看穿了整个牢房。然后我尝试使用:

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

它不会 return 任何东西,因为它处于部分启动状态。因此,我针对一个已经完全 运行 的应用程序对其进行了测试,它显示了它对应的所有 mBeans。即使对于完整的 运行 应用程序,在 completeObjectName 选项中指定服务器也不起作用。

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

AdminControl.queryNames("WebSphere:type=Application,name=yourappname,*")

将为应用程序的每个实例 return 一个 mbean,即 运行。 每个 mbean 的对象名称将包括节点和服务器名称。

要查询应用程序在特定服务器上的状态,请将节点名和服务器名添加到上述 queryNames 调用中。取回 mbean 意味着它是 运行,没有取回任何东西意味着它不是。

试试这个:

AdminControl.queryNames("type=Application,name=Application01,cell=MYCELL,node=NODE01,server=WPS00,*")

输入“*”以获得为 mbean 定义的所有属性并从字符串中删除 WebSphere。