如何确定应用程序是否正在使用 wsadmin Jython 脚本运行?

发布于 2024-12-17 06:17:14 字数 41 浏览 3 评论 0原文

我可以获取已安装应用程序的列表,但如何使用 Jython 获取状态?

I can get a list of installed applications but how do I get the status using Jython?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

捶死心动 2024-12-24 06:17:14

我认为没有任何直接的方法来获取应用程序的运行状态,您可以使用以下代码从 AdminControl 获取对象

serverstatus = AdminControl.completeObjectName('type=Application,name='your_application_name',*')
print serverstatus

如果 serverstatus 返回 null,则应用程序未运行,如果应用程序正在运行运行然后将打印应用程序的详细信息。

I dont think there is any direct method to get the application running status, You can get the object from the AdminControl using the following code

serverstatus = AdminControl.completeObjectName('type=Application,name='your_application_name',*')
print serverstatus

If serverstatus returns null, then the application is not running, if the application is running then the details of the applications would be printed.

寻找我们的幸福 2024-12-24 06:17:14

这是我根据 Snehan 的回答使用的内容。

import string

def getAppStatus(appName):
    # If objectName is blank, then the application is not running.
    objectName = AdminControl.completeObjectName('type=Application,name=' + appName + ',*')
    if objectName == "":
        appStatus = 'Stopped'
    else:
        appStatus = 'Running'
    return appStatus

def appStatusInfo():
    appsString = AdminApp.list()
    appList = string.split(appsString, '\r\n')

    print '============================'
    print ' Status |    Application   '
    print '============================'

    # Print apps and their status
    for x in appList:
        print getAppStatus(x) + ' | ' + x

    print '============================'



appStatusInfo()

样本输出

============================
 Status |    Application
============================
Running | DefaultApplication
Running | IBMUTC
Stopped | some-ear
Running | another-ear
============================

Here is what I use based on Snehan's answer.

import string

def getAppStatus(appName):
    # If objectName is blank, then the application is not running.
    objectName = AdminControl.completeObjectName('type=Application,name=' + appName + ',*')
    if objectName == "":
        appStatus = 'Stopped'
    else:
        appStatus = 'Running'
    return appStatus

def appStatusInfo():
    appsString = AdminApp.list()
    appList = string.split(appsString, '\r\n')

    print '============================'
    print ' Status |    Application   '
    print '============================'

    # Print apps and their status
    for x in appList:
        print getAppStatus(x) + ' | ' + x

    print '============================'



appStatusInfo()

Sample output

============================
 Status |    Application
============================
Running | DefaultApplication
Running | IBMUTC
Stopped | some-ear
Running | another-ear
============================
べ映画 2024-12-24 06:17:14

以下 IBM 文档应该会有所帮助:

总而言之,如果应用程序在应用程序服务器上运行,则 Application MBean 将被注册。为了确定应用程序是否正在运行,您可以查询这些 MBean 是否存在。

The following IBM documentation should help:

To summarize, if the application is running on an application server, an Application MBean will be registered. In order to determine if the application is running, you can query for the presence of these MBeans.

烟花肆意 2024-12-24 06:17:14

马蒂厄·科米尔的剧本还需要一些修改。

开始了。

它适用于任何行分隔符。一般AdminApp.list()会使用“\”作为行分隔符

import string

def getAppStatus(appName):
    # If objectName is blank, then the application is not running.
    objectName = AdminControl.completeObjectName('type=Application,name='+ appName+',*')
    if objectName == "":
        appStatus = 'Stopped'
    else:
        appStatus = 'Running'
    return appStatus

def appStatusInfo():
    Apps=AdminApp.list().split(java.lang.System.getProperty("line.separator"))

    print '============================'
    print ' Status |    Application   '
    print '============================'

    # Print apps and their status
    for x in Apps:
        print "X value", x
        print getAppStatus(x) + ' | ' + x

    print '============================'



appStatusInfo()

There is some more modification required in Matthieu, Cormier's script.

Here we go.

It will work in any line separator. Generally AdminApp.list() will use "\" as the line seperator

import string

def getAppStatus(appName):
    # If objectName is blank, then the application is not running.
    objectName = AdminControl.completeObjectName('type=Application,name='+ appName+',*')
    if objectName == "":
        appStatus = 'Stopped'
    else:
        appStatus = 'Running'
    return appStatus

def appStatusInfo():
    Apps=AdminApp.list().split(java.lang.System.getProperty("line.separator"))

    print '============================'
    print ' Status |    Application   '
    print '============================'

    # Print apps and their status
    for x in Apps:
        print "X value", x
        print getAppStatus(x) + ' | ' + x

    print '============================'



appStatusInfo()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文