wsadmin: Как проверить существующие ссылки на ресурсы? - PullRequest
0 голосов
/ 22 ноября 2011

С помощью $AdminApp view <applicationName> -MapResRefToEJB можно перечислить ссылки на ресурсы, определенные для развернутого модуля EJB.Однако результатом этой команды является простой текст (который, кроме того, может быть локализован).Чтобы извлечь эту информацию, нужно разобрать этот текст, что не очень удобно.Есть ли способ получить ту же информацию (т.е. ссылки на ресурсы приложения) в структурированной форме, используя $ AdminConfig?

1 Ответ

4 голосов
/ 22 ноября 2011

AppManagement MBean предоставляет эти данные в структурированном формате (вектор AppDeploymentTasks).Для получения этих данных используется wsadmin scripting (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]
...