|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
인터페이스의 개요 | |
---|---|
Relation | 관계 서비스에 의해 관리되는 관계를 나타내는 MBean 클래스는, 이 인터페이스를 구현할 필요가 있습니다. |
RelationServiceMBean | 관계 서비스에는, 관계형과 관계의 작성 및 삭제, 무결성의 처리, 및 쿼리기구의 제공의 기능이 있습니다. |
RelationSupportMBean | 관계 서비스는, RelationSupport 객체를 내부에서 사용해, 롤수에 제한이 없는 임의의 관계형의 단순한 관계 (롤만으로 프로퍼티이나 메소드를 가지지 않는 관계)를 표현합니다. |
RelationType | 관계형을 표현하는 모든 클래스가, RelationType 인터페이스를 구현할 필요가 있습니다. |
클래스의 개요 | |
---|---|
MBeanServerNotificationFilter | MBeanServerNotification 의 필터입니다. |
RelationNotification | 관계 서비스내의 변경의 통지입니다. |
RelationService | 관계 서비스에는, 관계형과 관계의 작성 및 삭제, 무결성의 처리, 및 쿼리기구의 제공의 기능이 있습니다. |
RelationSupport | 관계 서비스는, RelationSupport 객체를 내부에서 사용해, 롤수에 제한이 없는 임의의 관계형의 단순한 관계 (롤만으로 프로퍼티이나 메소드를 가지지 않는 관계)를 표현합니다. |
RelationTypeSupport | RelationTypeSupport 객체는, RelationType 인터페이스를 구현합니다. |
Role | 롤명, ObjectName 로 참조되는 MBean 를 포함해, 롤을 표현합니다. |
RoleInfo | RoleInfo 객체는, 관계형에 포함되는 롤을 집계합니다. |
RoleList | RoleList 는, 롤 (Role 객체)의 리스트를 나타냅니다. |
RoleResult | 관계의 복수의 롤에의 복수의 액세스 (읽어내 또는 기입해 액세스)의 결과를 표현합니다. |
RoleStatus | 이 클래스는, 롤의 액세스시에 발생할 가능성이 있는 다양한 문제를 설명합니다. |
RoleUnresolved | 미해결의 롤 (문제의 발생에 의해, 관계로부터 취득할 수 없었던 롤)을 표현합니다. |
RoleUnresolvedList | RoleUnresolvedList 는, RoleUnresolved 객체의 리스트를 표현합니다. |
예외의 개요 | |
---|---|
InvalidRelationIdException | 이 예외는, 관계에 대해서, 벌써 사용되고 있는 관계 ID 가 제공되었을 경우에 발행됩니다. |
InvalidRelationServiceException | 이 예외는, 제공된 관계 서비스가 무효인 경우에 발행됩니다. |
InvalidRelationTypeException | 관계형이 무효입니다. |
InvalidRoleInfoException | 이 예외는, 롤 정보에 대해, 최소치가 최대치보다 큰 경우에 발행됩니다. |
InvalidRoleValueException | 롤치가 무효입니다. |
RelationException | 이 클래스는, 관계의 관리중에 발행되는 예외의 슈퍼 클래스입니다. |
RelationNotFoundException | 이 예외는, 관계 서비스내에, 지정된 관계 ID 로 나타내지는 관계가 존재하지 않는 경우에 발행됩니다. |
RelationServiceNotRegisteredException | 이 예외는, 관계 서비스에의 액세스가 등록되지 않은 경우에 발행됩니다. |
RelationTypeNotFoundException | 이 예외는, 관계 서비스내에, 지정된 이름의 관계형이 존재하지 않는 경우에 발행됩니다. |
RoleInfoNotFoundException | 이 예외는, 지정된 관련형으로 지정된 이름의 롤 정보가 존재하지 않는 경우에 발행됩니다. |
RoleNotFoundException | 이 예외는, 관계에 포함되는 롤이 존재하지 않는 경우, 존재했다고 해도 읽기 불능인 경우, 또는 설정 불능인 경우에 발행됩니다. |
관계 서비스에 대해 정의합니다. 관계 서비스는, MBean 서버내의 MBean 간의 관계를 기록하기 위해서 사용됩니다. 관계 서비스 그 자체가 MBean 입니다. 1 대의 MBean 서버에, 복수 RelationService
MBean 를 등록할 수 있습니다.
「관계형」은, MBean 간의 관계를 정의합니다. 그 관계에 대해 MBean 가 담당하는 「롤」을 포함합니다. 일반적으로, 1 개의 관계형에 2 개 이상의 롤이 포함됩니다.
「관계」는, 관계형의 이름 첨부의 인스턴스입니다. 관계에서는, 롤내의 특정의 MBean 는 ObjectName
에 의해 나타내집니다.
예를 들어, 어플리케이션 A 에 포함되는 모듈을 나타내는 Module
MBean 가 있다고 합니다. DependsOn
관계형은, 그 외의 모듈에 의존하는 모듈의 관계를 표현할 수가 있습니다. 이 때문에, 모듈의 개시 또는 정지순서의 결정에 사용됩니다. DependsOn
관계형은,dependent
와 dependedOn
의 2 개의 롤을 가집니다.
어느 롤도 typed 입니다. 이 때문에, 롤내에 표시되는 MBean 는, 롤의 형태의 인스턴스가 아니면 안됩니다. DependsOn
의 예에서는, 양쪽 모두의 롤이 Module
형이 됩니다.
모든 롤이 「카디나리티」를 가집니다. 카디나리티에 의해, 지정된 관계 인스턴스에 포함되는 특정의 롤내의 MBean 수에, 상한치와 하한치가 설정됩니다. 일반적으로은, 상한치, 하한치 모두 1 으로, 롤내의 MBean 수는 1 입니다. 카디나리티는, 관계 인스턴스 마다 롤내의 MBean 수를 제한할 뿐입니다. 관계형의 인스턴스수에 관계없이, 같은 롤내에는 같은 MBean 를 존재할 수 있습니다. DependsOn
의 예에서는, 어느 모듈을 의존할 수 있는 그 외의 모듈수에 제한은 없습니다. 그러나, 관계 인스턴스는, 항상 단일의 dependent
모듈과 단일의 dependedOn
모듈을 링크합니다.
관계형은,javax.management.relation.RelationTypeRelationType
인터페이스를 구현하는 객체 (일반적으로 javax.management.relation.RelationTypeSupportRelationTypeSupport
)로서 명시적으로 작성할 수 있습니다. 관계 서비스의 createRelationType
메소드를 사용해, 암묵적으로 작성할 수도 있습니다.
관계 인스턴스는,javax.management.relation.RelationRelation
인터페이스를 구현하는 객체 (일반적으로 RelationSupport
)로서 명시적으로 작성할 수 있습니다. RelationSupport
자체가 유효한 MBean 이므로, 옵션으로서 MBean 서버에 등록 가능합니다. 한편, 관계 인스턴스를 암묵적으로 작성하려면 , 관계 서비스의 createRelation
메소드를 사용합니다.
DependsOn
의 예는 다음과 같이 코드화할 수 있습니다.
import java.util. *; import javax.management. *; import javax.management.relation. *; // ... MBeanServer mbs = ...; // Create the Relation Service MBean ObjectName relSvcName = new ObjectName(":type=RelationService"); RelationService relSvcObject = new RelationService(true); mbs.registerMBean(relSvcObject, relSvcName); // Create an MBean proxy for easier access to the Relation Service RelationServiceMBean relSvc = MBeanServerInvocationHandler.newProxyInstance(mbs, relSvcName, RelationServiceMBean.class, false); // Define the DependsOn relation type RoleInfo[] dependsOnRoles = { new RoleInfo("dependent", Module.class.getName()), new RoleInfo("dependedOn", Module.class.getName()) }; relSvc.createRelationType("DependsOn", dependsOnRoles); // Now define a relation instance "moduleA DependsOn moduleB" ObjectName moduleA = new ObjectName(":type=Module, name=A"); ObjectName moduleB = new ObjectName(":type=Module, name=B"); Role dependent = new Role("dependent", Collections.singletonList(moduleA)); Role dependedOn = new Role("dependedOn", Collections.singletonList(moduleB)); Role[] roleArray = {dependent, dependedOn}; RoleList roles = new RoleList(Arrays.asList(roleArray)); relSvc.createRelation("A-DependsOn-B", "DependsOn", roles); // Query the Relation Service to find what modules moduleA depends on Map<ObjectName, List<String>> dependentAMap = relSvc.findAssociatedMBeans(moduleA, "DependsOn", "dependent"); Set<ObjectName> dependentASet = dependentAMap.keySet(); // Set of ObjectName containing moduleB
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.