我在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中的应用程序?
答案 0 :(得分:1)
AdminControl.queryNames( “的WebSphere:类型=应用程序,名称= yourappname,*”)
将为正在运行的应用的每个实例返回一个mbean。 每个mbean的对象名称都包含节点和服务器名称。
要在特定服务器上查询应用程序的状态,请将Nodename和servername添加到上述queryNames调用中。获得一个mbean意味着它正在运行,什么都没有回来意味着它没有。
答案 1 :(得分:1)
试试这个:
AdminControl.queryNames("类型=应用程序,名称= Application01,细胞=了myCell,节点= NODE01,服务器= WPS00,*&#34)
把' *'获取为mbean定义的所有属性并从字符串中删除WebSphere。