Génération de la liste des modules d'une application installée à l'aide de l'outil de scriptage wsadmin

Utilisez la commande listModules de l'objet AdminApp pour lister les modules d'une application installée.

Pourquoi et quand exécuter cette tâche

Vous pouvez exécuter la commande listModules pour savoir quels modules se trouvent dans une application installée.

Procédure

  1. Démarrez l'outil de scriptage wsadmin.
  2. Affichez les modules d'application.
    A l'aide de Jacl :
    $AdminApp listModules DefaultApplication -server
    Avec Jython :
    print AdminApp.listModules('DefaultApplication', '-server')
    Tableau 1. Eléments de la commande listmodules. Exécutez la commande listmodules pour répertorier les modules d'application.
    Elément Description
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    print est une commande Jython
    AdminApp est un objet prenant en charge la gestion des objets application
    listmodules est une commande AdminApp
    DefaultApplication est le nom de l'application
    -server est une option facultative spécifiée
    Exemple de sortie :
    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

Exemple

L'exemple suivant répertorie tous les modules de toutes les applications d'entreprise installés sur le serveur server1 dans un noeud appelé node1.

Un astérisque (*) signifie que le module est installé sur server1 et node1 et sur un autre serveur ou noeud. Un signe plus (+) signifie que le module est installé sur server1 et node1 uniquement.

 1  #-----------------------------------------------------------------------------------
       2  # définition de variables pour conserver le nom du serveur et du noeud 
       3  #------------------------------------------------------------------------------
       4  set  serverName  server1
       5  set  nodeName  node1
       6  #-------------------------------------------------------------------------------
       7  # définition de 2 listes globales pour conserver les modules
       8  #--------------------------------------------------------------------------------
       9  set  ejbList {}
      10 set webList {}
11
12 #----------------------------------------------------------------------------------------
13 # extrait tous les objets de déploiement et les affecte à la variable de déploiement
14 #-----------------------------------------------------------------------------------------
15 set deployments [$AdminConfig getid /Deployment:/]
16
17 #-----------------------------------------------------------------------------------------
18 # les lignes 22 à 148 itèrent via tous les objets de déploiement pour extraire les modules
19 # et effectuer un filtrage afin de répertorier les applications ayant au moins un module installé
20 # dans server1, sur le noeud myNode
21 #-----------------------------------------------------------------------------------------
22 foreach deployment $deployments {
23
24     # ------------------------------------------------------------------------------------
25     # réinitialise les listes mentionnant les modules pour chaque application
26     #-------------------------------------------------------------------------------------
27     set webList {}
28     set ejbList {}
29
30     #------------------------------------------
31     # extrait le nom de l'application
32     #------------------------------------------
33     set appName [lindex [split $deployment (] 0]
34
35     #------------------------------------------          
36     # extrait deployedObjects
37     #------------------------------------------
38     set depObject [$AdminConfig showAttribute $deployment deployedObject]
39
40     #--------------------------------------------    
41     # extrait tous les modules dans l'application
42     #---------------------------------------------
43     set modules [lindex [$AdminConfig showAttribute $depObject modules] 0] 
44
45     #---------------------------------------------------------------------------------------------
46     # initialise des listes pour enregistrer tous les modules dans la liste adéquate à laquelle ils appartiennent
47     #---------------------------------------------------------------------------------------------
48     set modServerMatch {}  
49     set modServerMoreMatch {}
50     set modServerNotMatch {}
51
52         #-----------------------------------------------------------------------------------------
53         # les lignes 55 à 112 itèrent via tous les modules pour
extraire targetMappings
54         #------------------------------------------------------------------------------------------
55         foreach module $modules {
56             #--------------------------------------------------------------------------------------
57             # définition de balises pour effectuer un filtrage et
extraire des modules pour server1 sur node1
58             #--------------------------------------------------------------------------------------
59             set sameNodeSameServer "false"
60            set diffNodeSameServer "false"
61             set sameNodeDiffServer "false"
62             set diffNodeDiffServer "false"
63
64             #--------------------------------------------
65             # extrait targetMappings
66             #--------------------------------------------
67             set targetMaps [lindex [$AdminConfig showAttribute $module targetMappings] 0]
68
69             #---------------------------------------------------------------------------------------
70            # les lignes 72 à 111 itèrent via tous les
targetMappings pour extraire la cible
71             #---------------------------------------------------------------------------------------
72             foreach targetMap $targetMaps { 
73                 #------------------------------
74                # extrait la cible
75                 #------------------------------
76                 set target [$AdminConfig showAttribute $targetMap target]
77
78                 #--------------------------------------------------
79                 # effectue un filtrage pour ignorer ClusteredTargets  
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                     # fait correspondre le nom du serveur
88                     #----------------------------------------------
89                     if {$sName == $serverName} {
90                       if {$nName == $nodeName} {
91                 set sameNodeSameServer "true"
92                         } else {
93                 set diffNodeSameServer "true"
94                         }
95                    } else {
96                          #--------------------------------------- 
97                          # fait correspondre le nom du serveur
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      # le place dans la liste adéquate
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  # imprime la sortie avec certaines notations
131  #----------------------------------------------------------------
132  if {$modServerMatch != {} || $modServerMoreMatch != {}} {
133      puts stdout "\tApplication name: $appName"
      134  }
      135
      136  #---------------------------------------------------------
      137  # regroupe dans le module approprié et imprime
      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     # Si la liste existe déjà, marquez-la pour n'imprimer qu'une seule fois le titre
      159     # et réinitialisez-la
      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     # effectue un filtrage pour des modules web et ejb
      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     # trie la liste avant impression
      184     #---------------------------------------
      185     set webList [lsort -dictionary $webList]
      186     set ejbList [lsort -dictionary $ejbList]
      187
      188     #----------------------------------------------------------------
      189     # imprime tous les modules web installés dans server1
      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     # imprime tous les modules ejb installés dans server1
      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}
      
Exemple de sortie pour server1 sur le noeud node1 :
       Nom de l'application : TEST1
                Modules EJB :
                        deplmtest.jar  +
                Modules Web :
                        mtcomps.war  *
        Nom de l'application : TEST2
                Modules Web :
                        mtcomps.war  +
                Modules EJB :
                        deplmtest.jar  +
        Nom de l'application : TEST3
                Modules Web :
                        mtcomps.war  *
                Modules EJB :
                        deplmtest.jar  *
        Nom de l'application : TEST4
                Modules EJB :
                        deplmtest.jar  *
                Modules Web :
                        mtcomps.war

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_listmodule
Nom du fichier : txml_listmodule.html