Die Module in einer installierten Anwendung mit wsadmin-Scripting auflisten

Mit dem Befehl listModules des Objekts AdminApp können Sie die Module in einer installierten Anwendung auflisten.

Informationen zu diesem Vorgang

Sie können den Befehl "listModules" ausführen, um die in einer installierten Anwendung enthaltenen Module anzuzeigen.

Vorgehensweise

  1. Starten Sie das wsadmin-Scripting-Tool.
  2. Zeigen Sie die Anwendungsmodule an.
    Mit Jacl:
    $AdminApp listModules DefaultApplication -server
    Mit Jython:
    print AdminApp.listModules('DefaultApplication', '-server')
    Tabelle 1. Elemente des Befehls "listmodules". Führen Sie den Befehl "listmodules" auf, um Anwendungsmodule aufzulisten.
    Element Beschreibung
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    print Jython-Befehl
    AdminApp Objekt, das die Verwaltung von Anwendungsobjekten unterstützt
    listmodules AdminApp-Befehl
    Standardanwendung Name der Anwendung
    -server Optional angegebene Option.
    Beispielausgabe:
    DefaultApplication#IncCMP11.jar+META-INF/ejb-jar.xml#WebSphere:cell=mycell,node=mynode,server=myserver
    DefaultApplication#DefaultWebApplication.war+WEB-INF/web.xml#WebSphere:cell=mycell,node=mynode,server=myserver

Beispiel

Im folgenden Beispiel werden alle Module in allen Unternehmensanwendungen, die im Server server1 auf dem Knoten node1 installiert sind, aufgelistet.

Der Stern (*) bedeutet, dass das Modul in server1 und node1 und einem anderen Server oder Knoten installiert ist. Das Pluszeichen (+) bedeutet, dass das Modul nur in server1 und auf node1 installiert ist.

 1  #-----------------------------------------------------------------------------------
       2  # Variablen für Servernamen und Knotennamen konfigurieren 
       3  #------------------------------------------------------------------------------
       4  set  serverName  server1
       5  set  nodeName  node1
       6  #-------------------------------------------------------------------------------
       7  # 2 globale Listen für die Module konfigurieren
       8  #--------------------------------------------------------------------------------
       9  set  ejbList {}
      10 set webList {}
11
12 #----------------------------------------------------------------------------------------
13 # Alle Implementierungsobjekte abrufen und der Variable deployments zuordnen
14 #-----------------------------------------------------------------------------------------
15 set deployments [$AdminConfig getid /Deployment:/]
16
17 #-----------------------------------------------------------------------------------------
18 # Die Zeilen 22 bis 148 iterieren durch alle Implementierungsobjekte, um die Module abzurufen,
19 # und filtern die Objekte dann, um eine Anwendung aufzulisten, die mindestens ein Modul enthält, das
20 # in server1 auf dem Knoten myNode installiert ist.
21 #-----------------------------------------------------------------------------------------
22 foreach deployment $deployments {
23
24     # ------------------------------------------------------------------------------------
25     # Die Listen mit den Modulen für die Anwendungen zurücksetzen
26     #-------------------------------------------------------------------------------------
27     set webList {}
28     set ejbList {}
29
30     #------------------------------------------
31     # Anwendungsnamen abrufen
32     #------------------------------------------
33     set appName [lindex [split $deployment (] 0]
34
35     #------------------------------------------          
36     # Implementierte Objekte abrufen
37     #------------------------------------------
38     set depObject [$AdminConfig showAttribute $deployment deployedObject]
39
40     #--------------------------------------------    
41     # Alle Module in der Anwendung abrufen
42     #---------------------------------------------
43     set modules [lindex [$AdminConfig showAttribute $depObject modules] 0] 
44
45     #---------------------------------------------------------------------------------------------
46     # Listen initialisieren, um alle Module in der richtigen Liste zu speichern
47     #---------------------------------------------------------------------------------------------
48     set modServerMatch {}  
49     set modServerMoreMatch {}
50     set modServerNotMatch {}
51
52         #-----------------------------------------------------------------------------------------
53         # Die Zeilen 55 bis 112 iterieren durch alle Module, um die Zielzuordnungen abzurufen
54         #------------------------------------------------------------------------------------------
55         foreach module $modules {
56             #--------------------------------------------------------------------------------------
57             # Flag setzen, um die Objekte zu filtern und Module für server1 auf node1 abzurufen
58             #--------------------------------------------------------------------------------------
59             set sameNodeSameServer "false"
60            set diffNodeSameServer "false"
61             set sameNodeDiffServer "false"
62             set diffNodeDiffServer "false"
63
64             #--------------------------------------------
65             # Zielzuordnungen abrufen
66             #--------------------------------------------
67             set targetMaps [lindex [$AdminConfig showAttribute $module targetMappings] 0]
68
69             #---------------------------------------------------------------------------------------
70            # Die Zeilen 72 bis 111 iterieren durch alle Zielzuordnungen, um das Ziel abzurufen
71             #---------------------------------------------------------------------------------------
72             foreach targetMap $targetMaps { 
73                 #------------------------------
74                # Ziel abrufen
75                 #------------------------------
76                 set target [$AdminConfig showAttribute $targetMap target]
77
78                 #--------------------------------------------------
79                 # Filtern, um Clusterziele zu überspringen  
80                 #--------------------------------------------------
81                 set targetName [lindex [split $target #] 1]
82                if {[regexp "ClusteredTarget" $targetName] != 1} { 
83                     set sName [$AdminConfig showAttribute $target name]
84                     set nName [$AdminConfig showAttribute $target nodeName]
85              
86                     #----------------------------------------------
87                     # Abgleich des Servernamens durchführen
88                     #----------------------------------------------
89                     if {$sName == $serverName} {
90                       if {$nName == $nodeName} {
91                 set sameNodeSameServer "true"
92                         } else {
93                 set diffNodeSameServer "true"
94                         }
95                    } else {
96                          #--------------------------------------- 
97                          # Abgleich des Knotennamens durchführen
98                          #---------------------------------------
99                          if {$nName == $nodeName} {
100                 set sameNodeDiffServer "true"
101                        } else {
102                            set diffNodeDiffServer "true"
103                        }
104                  }
105 
106                  if {$sameNodeSameServer == "true"} {
107                      if {$sameNodeDiffServer == "true" || $diffNodeDiffServer == "true" || $diffNodeSameServer == "true"} {
108                          break
109                      }
110                 }
111            }
112      }
113
114      #---------------------------------------------
115      # In der richtigen Liste speichern
116      #---------------------------------------------   
117      if {$sameNodeSameServer == "true"} {
118          if {$diffNodeDiffServer == "true" || $diffNodeSameServer == "true" || $sameNodeDiffServer == "true"} {
119               set modServerMoreMatch [linsert $modServerMoreMatch end [$AdminConfig showAttribute $module uri]]
120           } else {
121               set modServerMatch [linsert $modServerMatch end [$AdminConfig showAttribute $module uri]]
122          }      
123     } else {
124          set modServerNotMatch [linsert $modServerNotMatch end [$AdminConfig showAttribute $module uri]]
125     }
126  }  
127
128
129  #----------------------------------------------------------------
130  # Ausgabe mit Markierung versehen
131  #----------------------------------------------------------------
132  if {$modServerMatch != {} || $modServerMoreMatch != {}} {
133      puts stdout "\tApplication name: $appName"
      134  }
      135
      136  #---------------------------------------------------------
      137  # Modulgruppen erstellen und ausgeben
      138  #---------------------------------------------------------
      139  if {$modServerMatch != {}} {
      140      filterAndPrint $modServerMatch "+"
      141  }
      142  if {$modServerMoreMatch != {}} {
      143      filterAndPrint $modServerMoreMatch "*"
      144  }
      145  if {($modServerMatch != {} || $modServerMoreMatch != {}) "" $modServerNotMatch != {}} {
      146      filterAndPrint $modServerNotMatch ""
      147  }
      148}
      149
      150   
      151  proc filterAndPrint {lists flag} {
      152     global webList
      153     global ejbList
      154     set webExists "false"
      155     set ejbExists "false"
      156
      157     #--------------------------------------------------------------------------------------
      158     # Wenn die Liste vorhanden ist, so markieren, damit Überschrift nur einmal ausgegeben wird,
      159     # und die Liste zurücksetzen
      160     #---------------------------------------------------------------------------------------
      161     if {$webList != {}} {
      162         set webExists "true"
      163         set webList {}
      164     }   
      165     if {$ejbList != {}} {
      166         set ejbExists "true"
      167         set ejbList {}
      168     }
      169
      170     #------------------------------------------------------------------
      171     # Webmodule und EJB-Module filtern
      172     #------------------------------------------------------------------
      173     foreach list $lists {
      174          set temp [lindex [split $list .] 1]
      175          if {$temp == "war"} {
      176               set webList [linsert $webList end $list]
      177          } elseif {$temp == "jar"} {
      178               set ejbList [linsert $ejbList end $list]
      179          }
      180     }
      181
      182     #---------------------------------------
      183     # Liste vor der Ausgabe sortieren
      184     #---------------------------------------
      185     set webList [lsort -dictionary $webList]
      186     set ejbList [lsort -dictionary $ejbList]
      187
      188     #----------------------------------------------------------------
      189     # Alle in server1 installierten Webmodule ausgeben
      190     #----------------------------------------------------------------
      191     if {$webList != {}} {
      192         if {$webExists == "false"} {
      193              puts stdout "\t\tWeb Modules:"
      194         }
      195         foreach web $webList {
      196             puts stdout "\t\t\t$web  $flag"
      197         }
      198     }
      199
      200     #--------------------------------------------------------------
      201     # Alle in server1 installierten EJB-Module ausgeben
      202     #--------------------------------------------------------------
      203     if {$ejbList != {}} {
      204          if {$ejbExists == "false"} {
      205                puts stdout "\t\tEJB Modules:"
      206          }
      207          foreach ejb $ejbList {
      208                puts stdout "\t\t\t$ejb  $flag"
      209          }
      210     }
      211}
      
Beispielausgabe für server1 auf Knoten node1:
       Application name: TEST1
                EJB Modules:
                        deplmtest.jar  +
                Web Modules:
                        mtcomps.war  *
        Application name: TEST2
                Web Modules:
                        mtcomps.war  +
                EJB Modules:
                        deplmtest.jar  +
        Application name: TEST3
                Web Modules:
                        mtcomps.war  *
                EJB Modules:
                        deplmtest.jar  *
        Application name: TEST4
                EJB Modules:
                        deplmtest.jar  *
                Web Modules:
                        mtcomps.war

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_listmodule
Dateiname:txml_listmodule.html