【问题标题】:Weblogic - Get Deployment Type Using WlstWeblogic - 使用 Wlst 获取部署类型
【发布时间】:2014-07-16 16:32:57
【问题描述】:

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

我正在使用 Weblogic 10.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 文档,但没有看到任何可以让我了解应用程序类型的内容。

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

感谢您的反馈/建议/cmets!

【问题讨论】:

    标签: deployment monitoring weblogic-10.x wlst


    【解决方案1】:

    Mohan 是的,您可以分两步过滤掉它。 您可以在 for 循环中使用 if 条件,并在遇到库文件时忽略“继续”。

    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
    

    请注意,您必须在此处为每个块遵循正确的缩进。 高温

    【讨论】:

    • 应用程序名称没有扩展名来识别它们!因此这是行不通的。
    • 如果你愿意,你可以重命名它们吗?否则,将 lib 文件列表保存在单独的列表变量中。并尝试如上所示跳过
    • 是的,重命名应用程序或使用“跳过列表”将起作用。这应保留为最后一个选项。应该有一种方法可以使用 weblogic/mbean 服务器 API 来做到这一点。如果管理控制台可以获取此信息,我们应该可以使用 WLST 做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多