wsadmin スクリプトによるインストール済みアプリケーション内のモジュールのリスト作成

AdminApp オブジェクトの listModules コマンドを使用して、 インストール済みアプリケーション内のモジュールをリストします。

このタスクについて

listModules コマンドを実行して、インストール済みアプリケーション内のモジュールを確認することができます。

手順

  1. wsadmin スクリプト・ツールを開始します。
  2. アプリケーション・モジュールを表示します。
    Jacl を使用:
    $AdminApp listModules DefaultApplication -server
    Jython の使用:
    print AdminApp.listModules('DefaultApplication', '-server')
    表 1. listmodules コマンド・エレメント. listmodules コマンドを実行して、アプリケーション・モジュールをリストします。
    エレメント 説明
    $ 変数名を値で置換する Jacl 演算子です。
    print Jython コマンドです。
    AdminApp アプリケーション・オブジェクト管理をサポートするオブジェクトです。
    listmodules AdminApp コマンドです。
    DefaultApplication アプリケーションの名前です。
    -server 指定された任意選択のオプションです。
    出力例:
    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

以下の例は、node1 という名前のノードにある server1 サーバーにインストールされているすべてのエンタープライズ・アプリケーションのすべてのモジュールをリストしたものです。

アスタリスク (*) は、モジュールが server1 および node1、 またその他のサーバーまたはノードにインストールされていることを意味します。 プラス記号 (+) は、そのモジュールが server1 および node1 にのみインストールされていることを意味します。

 1  #-----------------------------------------------------------------------------------
       2  # setting up variables to keep server name and node name 
       3  #------------------------------------------------------------------------------
       4  set  serverName  server1
       5  set  nodeName  node1
       6  #-------------------------------------------------------------------------------
       7  # setting up 2 global lists to keep the modules
       8  #--------------------------------------------------------------------------------
       9  set  ejbList {}
      10 set webList {}
11
12 #----------------------------------------------------------------------------------------
13 # gets all deployment objects and assigned it to deployments variable
14 #-----------------------------------------------------------------------------------------
15 set deployments [$AdminConfig getid /Deployment:/]
1617 #-----------------------------------------------------------------------------------------
18 # lines 22 thru 148 Iterates through all the deployment objects to get the modules
19 # and perform filtering to list application that has at least one module installed
20 # in server1 in node myNode
21 #-----------------------------------------------------------------------------------------
22 foreach deployment $deployments {
23
24     # ------------------------------------------------------------------------------------
25     # reset the lists that hold modules for each application
26     #-------------------------------------------------------------------------------------
27     set webList {}
28     set ejbList {}
29
30     #------------------------------------------
31     # get the application name
32     #------------------------------------------
33     set appName [lindex [split $deployment (] 0]
34
35     #------------------------------------------          
36     # get the deployedObjects
37     #------------------------------------------
38     set depObject [$AdminConfig showAttribute $deployment deployedObject]
39
40     #--------------------------------------------    
41     # get all modules in the application
42     #---------------------------------------------
43     set modules [lindex [$AdminConfig showAttribute $depObject modules] 0] 
44
45     #---------------------------------------------------------------------------------------------
46     # initialize lists to save all the modules in the appropriate list to where they belong
47     #---------------------------------------------------------------------------------------------
48     set modServerMatch {}  
49     set modServerMoreMatch {}
50     set modServerNotMatch {}
51
52         #-----------------------------------------------------------------------------------------
53         # lines 55 to 112 iterate through all modules to get the targetMappings
54         #------------------------------------------------------------------------------------------
55         foreach module $modules {
56             #--------------------------------------------------------------------------------------
57             # setting up some flag to do some filtering and get modules for server1 on node1
58             #--------------------------------------------------------------------------------------
59             set sameNodeSameServer "false"
60            set diffNodeSameServer "false"
61             set sameNodeDiffServer "false"
62             set diffNodeDiffServer "false"
63
64             #--------------------------------------------
65             # get the targetMappings
66             #--------------------------------------------
67             set targetMaps [lindex [$AdminConfig showAttribute $module targetMappings] 0]
68
69             #---------------------------------------------------------------------------------------
70            # lines 72 to 111 iterate through all targetMappings to get the target
71             #---------------------------------------------------------------------------------------
72             foreach targetMap $targetMaps { 
73                 #------------------------------
74                # get the target
75                 #------------------------------
76                 set target [$AdminConfig showAttribute $targetMap target]
77
78                 #--------------------------------------------------
79                 # do filtering to skip 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                     # do the server name match
88                     #----------------------------------------------
89                     if {$sName == $serverName} {
90                       if {$nName == $nodeName} {
91                 set sameNodeSameServer "true"
92                         } else {
93                 set diffNodeSameServer "true"
94                         }
95                    } else {
96                          #--------------------------------------- 
97                          # do the node name match
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      # put it in the appropriate list
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
128129  #----------------------------------------------------------------
130  # print the output with some notation as a mark
131  #----------------------------------------------------------------
132  if {$modServerMatch != {} || $modServerMoreMatch != {}} {
133      puts stdout "¥tApplication name: $appName"
      134  }
      135
      136  #---------------------------------------------------------
      137  # do grouping to appropriate module and print
      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     # If list already exists, flag it so as not to print the title more then once
      159     # and reset the list
      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     # do some filtering for web modules and ejb modules
      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     # sort the list before printing
      184     #---------------------------------------
      185     set webList [lsort -dictionary $webList]
      186     set ejbList [lsort -dictionary $ejbList]
      187
      188     #----------------------------------------------------------------
      189     # print out all the web modules installed in 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     # print out all the ejb modules installed in 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}
      
Example output for server1 on node 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

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_listmodule
ファイル名:txml_listmodule.html