Deployment Weblogic-使用Wlst获取部署类型

Deployment Weblogic-使用Wlst获取部署类型,deployment,monitoring,weblogic-10.x,wlst,Deployment,Monitoring,Weblogic 10.x,Wlst,我正在尝试使用wlst监视域中托管服务器上的部署状态 我使用的是WebLogic10.3 以下是我到目前为止的情况: domainRuntime() applnRtStEuntimeBean = cmo.getAppRuntimeStateRuntime() servers=domainRuntimeService.getServerRuntimes() for server in servers: serverName = server.getName() appln

我正在尝试使用wlst监视域中托管服务器上的部署状态

我使用的是WebLogic10.3

以下是我到目前为止的情况:

domainRuntime()

applnRtStEuntimeBean = cmo.getAppRuntimeStateRuntime()

servers=domainRuntimeService.getServerRuntimes()

for server in servers:
     serverName = server.getName()
     applns = server.getApplicationRuntimes();
     for appln in applns:
         print 'Application Name          #', appln.getApplicationName()
         print 'Applican Current State    #', applnRtStEuntimeBean.getCurrentState(appName,serverName)
         print 'Applican Intended State   #', applnRtStEuntimeBean.getIntendedState(appName)
这提供了所有应用程序的当前状态,无论其“类型”如何。 有没有一种方法可以使用wlst按类型筛选应用程序?

例如,我只想检查“企业应用程序”和“Web应用程序”的状态,而忽略所有“库”

我已经看过MBeans Java文档,但没有看到任何可以让我了解应用程序类型的东西

作为参考,管理控制台上的“部署”页面中列出了应用程序名称、类型、运行状况和状态


感谢您的反馈/建议/评论

Mohan是的,您可以通过两个步骤过滤掉它。 当遇到库文件时,可以在for循环中使用if条件,并在ignore中使用“continue”

applname=['test.war','test2.ear','test3.jar']
wls:/offline> for s in applname:
... if s.endswith('jar'):
...  print 'ignore'
...  continue
... print s
    # do your task of monitoring here
...
test.war
test2.ear
ignore
请注意,这里的每个块都必须遵循正确的缩进。
HTH

应用程序名称没有扩展名来标识它们!!因此,这将不起作用。如果你想,你可以重命名它们,对吗?另一种方法是将lib文件列表保存在单独的列表变量中。并尝试如上所示跳过是的,重命名应用程序或使用“skiplist”将起作用。这应作为最后一个选项保留。应该有一种方法可以使用weblogic/mbean服务器API实现这一点。如果管理控制台可以获取此信息,我们应该能够使用WLST执行相同的操作。