연습: Jacl 스크립트 작성

이 스크립트의 기본 개념은 시스템에서 MBean과 통신하는 데 사용할 수 있습니다. 필요한 것은 MBean의 이름 및 유형과 MBean에서 사용 가능한 메소드 및 속성 뿐입니다. getAttributesetAttribute 명령이 속성으로 사용됩니다. invoke 명령은 메소드로 사용됩니다. 다음 단계를 수행하여 JMX 보안 MBean을 관리하는 .Jacl 스크립트를 작성하십시오.
주: 각 단계의 코드는 코드의 수행 내용을 설명하는 지시문으로 시작됩니다.
  1. nodename을 판별하십시오.

    아래에 표시된 스크립트의 첫 번째 부분에서 nodename을 판별할 수 있습니다. nodeName이 올바로 지정되지 않은 경우 올바른 구문이 인쇄되고 스크립트가 종료됩니다.

    # read and validate arguments
    
        if {{$argc == 1 } && { [lindex $argv $i] == "-nodeName" } {
                set nodeName [lindex $argv $i]
        
  2. MBean을 식별하십시오.
    MBean은 유형 및 이름으로 식별됩니다.
    주: 사용할 특정 MBean을 알고 있으므로 이 경우 이름과 유형은 하드 코드화됩니다.
    스크립트의 두 번째 부분은 MBean을 나타냅니다.
    # these two variables, mbeanName and mbeanType are used 
      to uniquely identify the mbean.
           # for this sample, the mbean that access relationship 
             services will be used.
    
           set mbeanName"RelService"
           set mbeanType"WBIRelServices"
  3. reference를 찾아서 MBean으로 설정하십시오.
    여기에 표시된 코드를 사용하여 MBean의 참조를 설정하십시오.
    # locate the mbean and set a reference to in in "relSvcsMBean" variable
    
           set relSvcsMBean [$AdminControl queryNames 
               name=$mbeanName,node=$nodeName,type=$mbeanType,*]
  4. getAttribute 명령을 사용하여 relationship을 호출하십시오.

    이 특정 MBean의 문서는 allRelationshipNames라고 하는 속성을 정의합니다. getAttribute 명령을 사용하여 MBean에 이 속성을 요청하십시오. 속성 값은 명령을 호출하는 다음 단계에서 통과하는 목록입니다.

    # request the list of relationships from the mbean
    
           set relationships 
            [$AdminControl getAttribute $relSvcsMBean allRelationshipNames]
  5. 각 관계 이름의 command를 호출하고 이름을 인쇄한 후에 추가 정보를 얻으려면 MBean으로 돌아가십시오.
    각 관계 이름에 대해 이름을 인쇄한 후에 추가 정보를 얻으려면 MBean으로 돌아가십시오. 이 예에서 MBean은 특정 관계 이름에 대해 단일 매개변수를 사용하여 getAllRoleNames 메소드를 정의합니다. invoke 명령을 사용하여 이 메소드를 호출하며 현재 관계 이름을 전달합니다. 관계의 각 역할에 대한 역할 이름이 인쇄됩니다.
    # loop through the list of role names and print name
    
             foreach roleName $roles {
               puts "    Role: $roleName"
             }
          }
                } else {
             # arguments were not correct, print correct syntax
                puts "Usage: wsadmin -f RelServicesAdmin.jacl -nodeName nodeName" 
        }
이제 관계를 호출하는 스크립트를 작성했습니다.

이용약관 |

최종 갱신: Fri Jun 2 2006

(c) Copyright IBM Corporation 2005.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)