Websphere wsadmin:如何检查现有资源引用?

Websphere wsadmin:如何检查现有资源引用?,websphere,mbeans,wsadmin,Websphere,Mbeans,Wsadmin,使用$AdminApp view-MapResRefToEJB可以列出为部署的EJB模块定义的资源引用。但是,该命令的结果是纯文本(此外,还可以本地化)。要提取该信息,必须解析该文本,这不是很方便。是否有方法使用$AdminConfig以结构化形式获取相同的信息(即应用程序的资源引用)?以结构化格式(矢量)提供此数据。要使用wsadmin脚本(jython)获取此数据,请执行以下操作: 以结构化格式(矢量)提供此数据。要使用wsadmin脚本(jython)获取此数据,请执行以下操作: impo

使用
$AdminApp view-MapResRefToEJB
可以列出为部署的EJB模块定义的资源引用。但是,该命令的结果是纯文本(此外,还可以本地化)。要提取该信息,必须解析该文本,这不是很方便。是否有方法使用$AdminConfig以结构化形式获取相同的信息(即应用程序的资源引用)?

以结构化格式(矢量)提供此数据。要使用
wsadmin
脚本(
jython
)获取此数据,请执行以下操作:

以结构化格式(矢量)提供此数据。要使用
wsadmin
脚本(
jython
)获取此数据,请执行以下操作:

import javax.management as mgmt
appName = sys.argv[0]
appMgmt = mgmt.ObjectName(AdminControl.completeObjectName("WebSphere:*,type=AppManagement"))
appInfo = AdminControl.invoke_jmx(appMgmt, "getApplicationInfo", [appName, java.util.Hashtable(), None], ["java.lang.String", "java.util.Hashtable", "java.lang.String"])
for task in appInfo :
    if (task.getName() == "MapResRefToEJB") :
        resRefs = task.getTaskData()
        # skip the first row since it contains the headers
        for i in range(1, len(resRefs)) :
            resRef = resRefs[i]
            print
            print "URI:", resRef[4]
            print "EJB:", resRef[3]
            print "Name:", resRef[5]
            print "Type:", resRef[6]
            print "JNDI:", resRef[8]