1

$AdminApp view <applicationName> -MapResRefToEJBデプロイされた EJB モジュールに対して定義されたリソース参照をリストすることができます。ただし、そのコマンドの結果はプレーン テキストです (さらにローカライズされる場合があります)。その情報を抽出するには、このテキストを解析する必要がありますが、これはあまり便利ではありません。$AdminConfig を使用して構造化された形式で同じ情報 (つまり、アプリケーションのリソース参照) を取得する方法はありますか?

4

1 に答える 1

6

AppManagementMBeanは、このデータを構造化された形式 (Vector of 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 に答える