1

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

4

1 回答 1

6

AppManagementMBean以结构化格式(向量AppDeploymentTasks)提供此数据。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]
于 2011-11-22T15:33:27.663 回答