Ejercicio: escritura de un script Jacl

Por qué y cuándo realizar esta tarea

Los conceptos básicos de este script pueden utilizarse para comunicarse con cualquier MBean del sistema. Todo lo necesario es el nombre y tipo del MBean y los métodos y atributos disponibles en el MBean. Para los atributos se utilizan los mandatos getAttribute y setAttribute. El mandato invoke se utiliza para los métodos. Siga estos pasos para crear un script .Jacl que gestiona el MBean de seguridad JMX.
Nota: El código de cada paso va precedido de una sentencia que explica lo que realiza el código.

Pasos para realizar esta tarea

  1. Determine el nombre_nodo

    La primera parte del script que aparece a continuación determina el nombre_nodo. Si el nombre_nodo no se especifica correctamente, se imprime la sintaxis correcta y se sale del script.

    # leer y validar argumentos
    
        if {{$argc == 1 } && { [lindex $argv $i] == "-nodeName" } {
                set nodeName [lindex $argv $i]
        
  2. Identifique el MBean
    Un MBean se identifica con un tipo y un nombre.
    Nota: El nombre y el tipo están codificados en este caso, ya que sabe el MBean específico que desea utilizar.
    La segunda parte del script identifica el MBean.
    # se utilizan estas dos variables, mbeanName y mbeanType,
      para identificar el mbean de manera exclusiva.
           # para este ejemplo, se utilizará el mbean que accede
             a los servicios de relaciones.
    
           set mbeanName"RelService"
           set mbeanType"WBIRelServices"
  3. Localice y establezca la referencia en el MBean.
    Debe utilizar el código que aparece aquí para establecer la referencia para el MBean.
    # localizar el mbean y establecer una referencia en variable "relSvcsMBean"
    
           set relSvcsMBean [$AdminControl queryNames 
               name=$mbeanName,node=$nodeName,type=$mbeanType,*]
  4. Llame a la relación utilizando el mandato getAttribute.

    La documentación de este MBean específico define un atributo llamado allRelationshipNames. Solicite este atributo al MBean mediante el mandato getAttribute. El valor de atributo será una lista que se recorre en el paso siguiente que invoca el mandato.

    # solicitar la lista de relaciones del mbean
    
           set relationships 
            [$AdminControl getAttribute $relSvcsMBean allRelationshipNames]
  5. Invoque el mandato de cada nombre de relación, imprima el nombre y luego vuelva al MBean para obtener información adicional.
    Para cada nombre de relación, imprima el nombre y luego vuelva al MBean para obtener información adicional. En este ejemplo, el MBean define un método denominado getAllRoleNames con un solo parámetro para el nombre de relación específico. Utilice el mandato invoke para llamar a este método, pasando el nombre de relación actual. Para cada rol de la relación, se imprime un nombre de rol.
    # recorrer en bucle la lista de nombres de rol e imprimir nombre
    
             foreach roleName $roles {
               puts "    Role: $roleName"
             }
          }
        } else {
             # argumentos incorrectos, imprimir sintaxis correcto
                puts "Usage: wsadmin -f RelServicesAdmin.jacl -nodeName nombre_nodo"
        }

Resultado

Ya ha escrito un script para llamar a relaciones.

Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)