WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 作業系統: AIX, HP-UX, Linux, Solaris, Windows

練習:撰寫 Jacl Script

執行這項作業的原因和時機

這個 Script 中的基本概念可用來與系統中的任何 MBean 進行通訊。您只需要取得 MBean 的名稱和類型, 以及 MBean 可使用的方法和屬性。getAttributesetAttribute 指令是供屬性使用。invoke 指令是供方法使用。請遵循下列步驟來建立一個 .Jacl Script,以管理 JMX 安全 MBean。
註: 每一個步驟中的程式碼前面都會加上一個陳述的文句,用以說明程式碼的作用。

這項作業的步驟

  1. 判斷節點名稱

    下面的 Script 的第一個部分是用來判斷節點名稱。如果 nodeName 的指定不正確,就會列印正確的語法,然後 Script 會結束。

    # 讀取和驗證引數
    
        if {{$argc == 1 } && { [lindex $argv $i] == "-nodeName" } {
                set nodeName [lindex $argv $i]
        
  2. 識別 MBean
    MBean 是依照類型和名稱來識別。
    註: 在本案例中,名稱和類型是寫在程式中, 因為您知道所要使用的特定 MBean。
    Script 的第二部分可識別 MBean。
    # mbeanName 和 mbeanType 這兩個變數是用來
      識別唯一 mbean。
           # 在這個範例中,將使用負責存取關係
             服務的 mbean。
    
           set mbeanName"RelService"
           set mbeanType"WBIRelServices"
  3. 找到並設定 MBean 的參照
    您可以使用此處的程式碼來設定 MBean 的參照。
    # 在 "relSvcsMBean" 變數中,找到 mbean 並設定對它的參照
    
           set relSvcsMBean [$AdminControl queryNames
               name=$mbeanName,node=$nodeName,type=$mbeanType,*]
  4. 使用 getAttribute 指令來呼叫關係 (relationship)

    這個特定的 MBean 的文件定義一個名為 allRelationshipNames 的屬性。 請使用 getAttribute 指令來向 MBean 要求該屬性。 屬性值將會是您在下一步(呼叫指令)中逐步執行的清單。

    # 從 mbean 要求關係清單
    
           set relationships
            [$AdminControl getAttribute $relSvcsMBean allRelationshipNames]
  5. 為每一個關係名稱呼叫指令 (command),您可以列印名稱,然後回到 MBean 來取得其他資訊。
    為每一個關係名稱列印名稱,然後回到 MBean 來取得其他資訊。在這個範例中,MBean 會使用單一參數來為特定關係名稱定義一個名為 getAllRoleNames 的方法。您可以使用 invoke 指令來呼叫這個方法,以傳送現行的關係名稱。這樣就會為關係中的每一個角色列印一個角色名稱。
    # 循環角色名稱清單,並且列印名稱
    
             foreach roleName $roles {
               puts "    Role: $roleName"
             }
          }
        } else {
             # 引數不正確,列印正確的語法
                puts "用法:wsadmin -f RelServicesAdmin.jacl -nodeName nodeName"
        }

結果

您現在已經撰寫好一個 Script 來呼叫關係。
相關概念
存取控制

Task topic

使用條款 | 此頁的評等

「時間戳記」圖示前次更新: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\jmxtutorial\tut_task_jmxadmin.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)