JavaTM Platform
Standard Ed. 6

javax.management.relation
클래스 RelationSupport

java.lang.Object 
  상위를 확장 javax.management.relation.RelationSupport
모든 구현된 인터페이스:
MBeanRegistration , Relation , RelationSupportMBean


public class RelationSupport
extends Object
implements RelationSupportMBean , MBeanRegistration

관계 서비스는, RelationSupport 객체를 내부에서 사용해, 롤수에 제한이 없는 임의의 관계형의 단순한 관계 (롤만으로 프로퍼티이나 메소드를 가지지 않는 관계)를 표현합니다. 이것은 내부 표현이므로, 사용자에게는 공개되지 않습니다.

RelationSupport 클래스는, 표준 MBean 의 설계 패턴에 준거하고 있습니다. 따라서, 사용자는, RelationSupport 객체를 MBean 로서 인스턴스화해 (MBean 의 설계 패턴에 준거하고 있기 (위해)때문에), MBean Server 에 등록해 관계 서비스에 추가할 수가 있습니다.

또, 독자적인 MBean 관계 클래스의 작성시에 RelationSupport 를 확장해, 필수 인터페이스 (아래와 같은 참조)의 구현을 취득할 수도 있습니다.

사용자 관계 MBean 클래스내에 RelationSupport 객체가 되는 멤버를 추가해, 모든 것을 이 멤버에게 위양 하는 것에 의해 필수 인터페이스를 구현하는 방법도 있습니다.

RelationSupport 는, 관계 서비스에 의해 처리되는 Relation 인터페이스를 구현합니다.

관계 서비스에 액세스 하기 위한(해), MBean Server 에 MBean 로서 등록되어 있는 경우는, 이 등록처 MBean Server 를 취득하기 위한 MBeanRegistration 인터페이스도 구현합니다.

도입된 버젼:
1.5

생성자 의 개요
RelationSupport (String  relationId, ObjectName  relationServiceName, MBeanServer  relationServiceMBeanServer, String  relationTypeName, RoleList  list)
          RelationSupport 객체를 작성합니다.
RelationSupport (String  relationId, ObjectName  relationServiceName, String  relationTypeName, RoleList  list)
          RelationSupport 객체를 작성합니다.
 
메소드의 개요
 RoleResult getAllRoles ()
          관계에 포함되는 모든 롤을 돌려줍니다.
 Map <ObjectName ,List <String >> getReferencedMBeans ()
          관계의 다양한 롤로 참조되는 MBean 를 가져옵니다.
 String getRelationId ()
          관계 서비스내의 관계를 일의에 식별하기 위해서 사용되는 관계 식별자를 돌려줍니다.
 ObjectName getRelationServiceName ()
          관계를 처리하는 관계 서비스의 ObjectName 를 돌려줍니다.
 String getRelationTypeName ()
          관련지을 수 있었던 관계형의 이름을 돌려줍니다.
 List <ObjectName > getRole (String  roleName)
          지정된 롤명의 롤치를 가져옵니다.
 Integer getRoleCardinality (String  roleName)
          지정된 롤내에서 현재 참조되고 있는 MBean 의 수를 돌려줍니다.
 RoleResult getRoles (String [] roleNameArray)
          지정된 이름의 롤의 값을 가져옵니다.
 void handleMBeanUnregistration (ObjectName  objectName, String  roleName)
          롤에 포함되는 참조 대상의 MBean 의 등록이 해제되었을 경우에 관계 서비스에 의해 사용되는 콜백입니다.
 Boolean isInRelationService ()
          객체를 계속해 관계 서비스로 처리할지 어떨지를 지정하는 내부 플래그를 돌려줍니다.
 void postDeregister ()
          MBean 서버로부터 등록 해제한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void postRegister (Boolean  registrationDone)
          MBean 서버에의 등록이 성공 또는 실패한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void preDeregister ()
          MBean 서버로부터 등록 해제하기 전에, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 ObjectName preRegister (MBeanServer  server, ObjectName  name)
          MBean 서버에 등록하기 전에, MBean 에 필요한 오퍼레이션을 실행시킬 수가 있습니다.
 RoleList retrieveAllRoles ()
          읽기 모드를 체크하지 않고, 관계에 포함되는 모든 롤을 돌려줍니다.
 void setRelationServiceManagementFlag (Boolean  flag)
          이 관계를 관계 서비스로 처리할지 어떨지를 지정합니다.
 void setRole (Role  role)
          지정된 롤을 설정합니다.
 RoleResult setRoles (RoleList  list)
          지정된 롤을 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

RelationSupport

public RelationSupport(String  relationId,
                       ObjectName  relationServiceName,
                       String  relationTypeName,
                       RoleList  list)
                throws InvalidRoleValueException ,
                       IllegalArgumentException 
RelationSupport 객체를 작성합니다.

이 생성자 은, RelationSupport 객체가 사용자에 의해 MBean 로서 등록되었을 때, 또는 RelationSupport 를 확장하는 클래스를 가지는 사용자 관계 MBean 를 작성할 경우에 사용할 필요가 있습니다.

관계 서비스 레벨에서는 아무것도 행해지지 않습니다. 즉,RelationSupport 객체는 RelationService 에 추가되지 않고, 적절한 값이 제공되었는지 어떠했는지의 체크도 행해지지 않습니다. 객체는, 이하의 경우를 제외해 반드시 작성됩니다.

- 필수 파라미터가 모두 null 의 경우

- 같은 이름이 2 개의 롤로 사용되고 있는 경우

관계로서 처리하기 위해서는,RelationSupport 객체를 관계 서비스 메소드 addRelation()를 사용해 관계 서비스에 추가할 필요가 있습니다.

파라미터:
relationId - 관계 서비스내의 관계를 일의에 식별하기 위해서 사용된다 관계 식별자

관계 서비스내에서 일의가 아니면 안됩니다.

relationServiceName - 관계의 등록처가 된다 관계 서비스의 ObjectName

갱신 오퍼레이션 (세트)을 체크할 필요가 있기 (위해)때문에, 지정된 관계의 형태 정의를 인식한다 관계 서비스가 아니면 안되는

relationTypeName - 관계형의 이름

지정된 관계 서비스내에서 작성된 것이 아니면 안되는

list - 관계를 초기화하기 위한 롤 (Role 객체)의 리스트 (null 도 가능)

관련지을 수 있었던 관계형의 관계 정보에 준거하고 있지 않으면 안됩니다.

예외:
InvalidRoleValueException - 같은 이름이 2 개의 롤로 사용되고 있는 경우
IllegalArgumentException - 필수 파라미터 (관계 ID, 관계 서비스 ObjectName, 관계형명)중 한쪽이 null 의 경우

RelationSupport

public RelationSupport(String  relationId,
                       ObjectName  relationServiceName,
                       MBeanServer  relationServiceMBeanServer,
                       String  relationTypeName,
                       RoleList  list)
                throws InvalidRoleValueException ,
                       IllegalArgumentException 
RelationSupport 객체를 작성합니다.

이 생성자 은, RelationSupport 객체에의 위양을 실시하는 것에 의해 관계로 이용할 수 있도록(듯이) 할 필요가 있는 인터페이스를, 사용자 관계 MBean 가 구현했을 때에 사용할 필요가 있습니다.

이 객체는, 관계를 처리하는 관계 서비스를 인식할 필요가 있습니다. 따라서, 이 관계 서비스의 등록처의 MBean Server 도 인식할 필요가 있습니다.

제한에 의해, 관계 MBean 는, 그것을 처리하는 관계 서비스와 같은 MBean Server 에 등록할 필요가 있습니다. 이 때문에, 사용자 관계 MBean 를 작성해, 등록할 필요가 있습니다. 사용자 관계 MBean 의 등록 후, 식별된 MBean 서버 내부에서, 랩 된 RelationSupport 객체를 작성할 수 있습니다.

관계 서비스 레벨에서는 아무것도 행해지지 않습니다. 즉,RelationSupport 객체는 RelationService 에 추가되지 않고, 적절한 값이 제공되었는지 어떠했는지의 체크도 행해지지 않습니다. 객체는, 이하의 경우를 제외해 반드시 작성됩니다.

- 필수 파라미터가 모두 null 의 경우

- 같은 이름이 2 개의 롤로 사용되고 있는 경우

관계로서 처리하기 위해서는,RelationSupport 객체를 관계 서비스 메소드 addRelation()를 사용해 관계 서비스에 추가할 필요가 있습니다.

파라미터:
relationId - 관계 서비스내의 관계를 식별하기 위해서 사용된다 관계 식별자

관계 서비스내에서 일의가 아니면 안됩니다.

relationServiceName - 관계의 등록처가 된다 관계 서비스의 ObjectName

갱신 오퍼레이션 (세트)을 체크할 필요가 있기 (위해)때문에, 지정된 관계의 형태 정의를 인식한다 관계 서비스가 아니면 안되는

relationServiceMBeanServer - MBean 의 랩이 등록되어 있는, 또는 지금부터 등록되는 MBean 서버

관련 서비스가 등록되어 있는, 또는 지금부터 등록되는 MBean Server 가 아니면 안되는

relationTypeName - 관계형의 이름

지정된 관계 서비스내에서 작성된 것이 아니면 안되는

list - 관계를 초기화하기 위한 롤 (Role 객체)의 리스트 (null 도 가능)

관련지을 수 있었던 관계형의 관계 정보에 준거하고 있지 않으면 안됩니다.

예외:
InvalidRoleValueException - 같은 이름이 2 개의 롤로 사용되고 있는 경우
IllegalArgumentException - 필수 파라미터 (관계 ID, 관계 서비스 ObjectName, 관계 서비스 MBeanServer, 관계형명)중 한쪽이 null 인 경우
메소드의 상세

getRole

public List <ObjectName > getRole(String  roleName)
                         throws IllegalArgumentException ,
                                RoleNotFoundException ,
                                RelationServiceNotRegisteredException 
지정된 롤명의 롤치를 가져옵니다.

롤이 존재해, 관계형에 따라 읽어내 가능한가 어떤가를 체크합니다.

정의:
인터페이스 Relation 내의 getRole
파라미터:
roleName - 롤명
반환값:
롤치가 되는 ObjectName 객체의 ArrayList
예외:
IllegalArgumentException - 롤명이 null 의 경우
RoleNotFoundException - 다음의 조건이 성립하는 경우:

- 지정된 이름의 롤이 존재하지 않는 경우

- 롤이 읽어내 불가인 경우

RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우
관련 항목:
setRole(javax.management.relation.Role)

getRoles

public RoleResult  getRoles(String [] roleNameArray)
                    throws IllegalArgumentException ,
                           RelationServiceNotRegisteredException 
지정된 이름의 롤의 값을 가져옵니다.

각 롤이 존재해, 관계형에 따라 읽어내 가능한가 어떤가를 체크합니다.

정의:
인터페이스 Relation 내의 getRoles
파라미터:
roleNameArray - 취득되는 롤의 이름으로부터 완성되는 배열
반환값:
RoleResult 객체. 취득에 성공한 롤의 RoleList 와 취득되지 않았던 롤의 RoleUnresolvedList 를 포함한다
예외:
IllegalArgumentException - 롤명이 null 의 경우
RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우
관련 항목:
setRoles(javax.management.relation.RoleList)

getAllRoles

public RoleResult  getAllRoles()
                       throws RelationServiceNotRegisteredException 
관계에 포함되는 모든 롤을 돌려줍니다.

정의:
인터페이스 Relation 내의 getAllRoles
반환값:
RoleResult 객체. 취득에 성공한 롤의 RoleList 와 읽어낼 수 없었던 롤의 RoleUnresolvedList 를 포함한다
예외:
RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우

retrieveAllRoles

public RoleList  retrieveAllRoles()
읽기 모드를 체크하지 않고, 관계에 포함되는 모든 롤을 돌려줍니다.

정의:
인터페이스 Relation 내의 retrieveAllRoles
반환값:
RoleList

getRoleCardinality

public Integer  getRoleCardinality(String  roleName)
                           throws IllegalArgumentException ,
                                  RoleNotFoundException 
지정된 롤내에서 현재 참조되고 있는 MBean 의 수를 돌려줍니다.

정의:
인터페이스 Relation 내의 getRoleCardinality
파라미터:
roleName - 롤명
반환값:
롤내의 현재 참조되고 있는 MBean 의 수
예외:
IllegalArgumentException - 롤명이 null 의 경우
RoleNotFoundException - 지정된 이름의 롤이 존재하지 않는 경우

setRole

public void setRole(Role  role)
             throws IllegalArgumentException ,
                    RoleNotFoundException ,
                    RelationTypeNotFoundException ,
                    InvalidRoleValueException ,
                    RelationServiceNotRegisteredException ,
                    RelationNotFoundException 
지정된 롤을 설정합니다.

관계의 관계형에 포함되어 있는 대응하는 롤 정의에 따라, 롤을 체크합니다.

통지를 송신합니다. 관계가 MBean 일지 어떨지에 의해, RelationNotification 의 형태는 RELATION_BASIC_UPDATE 또는 RELATION_MBEAN_UPDATE 가 됩니다.

정의:
인터페이스 Relation 내의 setRole
파라미터:
role - 설정되는 롤 (이름과 새로운 값)
예외:
IllegalArgumentException - 롤이 null 의 경우
RoleNotFoundException - 지정된 이름의 롤이 존재하지 않는 경우, 또는 롤이 기입해 가능하지 않은 경우 (롤의 초기화시에는, 기입 액세스 모드의 체크는 행해지지 않는다)
InvalidRoleValueException - 롤에 대해서 제공되었다 값이 무효인 경우:

- 지정된 값에 포함되는 참조 대상의 MBean 의 수가 예상 최소치보다 작은 경우

- 지정된 값에 포함되는 참조 대상의 MBean 의 수가 예상 최대치를 넘고 있는 경우

- 값에 포함되는 참조 대상의 MBean 중 1 개(살)이, 그 롤의 MBean 클래스의 객체가 아닌 경우

- 그 롤의 MBean 가 존재하지 않는 경우

RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우
RelationTypeNotFoundException - 관계 서비스에 관계형이 선언되어 있지 않은 경우
RelationNotFoundException - 관계 서비스에 관계가 추가되어 있지 않은 경우
관련 항목:
getRole(java.lang.String)

setRoles

public RoleResult  setRoles(RoleList  list)
                    throws IllegalArgumentException ,
                           RelationServiceNotRegisteredException ,
                           RelationTypeNotFoundException ,
                           RelationNotFoundException 
지정된 롤을 설정합니다.

관계의 관계형에 포함되어 있는 대응하는 롤 정의에 따라, 롤을 체크합니다.

롤이 갱신될 때마다 통지를 송신합니다. 관계가 MBean 일지 어떨지에 의해, RelationNotification 의 형태는 RELATION_BASIC_UPDATE 또는 RELATION_MBEAN_UPDATE 가 됩니다.

정의:
인터페이스 Relation 내의 setRoles
파라미터:
list - 설정되는 롤의 리스트
반환값:
RoleResult 객체. 설정에 성공한 롤의 RoleList 와 설정되지 않았던 롤의 RoleUnresolvedList 를 포함한다
예외:
IllegalArgumentException - 롤 리스트가 null 의 경우
RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우
RelationTypeNotFoundException - 관계 서비스에 관계형이 선언되어 있지 않은 경우
RelationNotFoundException - 관계 서비스에 관계 MBean 가 추가되어 있지 않은 경우
관련 항목:
getRoles(java.lang.String[])

handleMBeanUnregistration

public void handleMBeanUnregistration(ObjectName  objectName,
                                      String  roleName)
                               throws IllegalArgumentException ,
                                      RoleNotFoundException ,
                                      InvalidRoleValueException ,
                                      RelationServiceNotRegisteredException ,
                                      RelationTypeNotFoundException ,
                                      RelationNotFoundException 
롤에 포함되는 참조 대상의 MBean 의 등록이 해제되었을 경우에 관계 서비스에 의해 사용되는 콜백입니다.

관계 서비스는, 이 메소드를 호출해, 관계에, 등록 해제의 영향을 반영하기 위한 액션을 받게 합니다.

이 메소드는, 사용자로부터는 불려 가지 않습니다.

현재의 구현은, 현재의 값 (참조 대상의 MBean 의 ObjectName 의 리스트)을 사용해 롤을 설정합니다. 등록 해제되고 있는 것은 사용하지 않습니다.

정의:
인터페이스 Relation 내의 handleMBeanUnregistration
파라미터:
objectName - 등록 해제된 MBean 의 ObjectName
roleName - MBean 의 참조에 사용되는 롤명
예외:
IllegalArgumentException - 파라미터가 null 의 경우
RoleNotFoundException - 관계내에 롤이 존재하지 않는지, 기입 불가인 경우
InvalidRoleValueException - 롤치가 관련하는 롤 정보에 준거하고 있지 않는 경우 (관계 서비스로부터 불려 갔을 경우는 일어날 수 없는 조건)
RelationServiceNotRegisteredException - 관계 서비스 하지만 MBean 서버에 등록되지 않은 경우
RelationTypeNotFoundException - 관계 서비스에 관계형이 선언되어 있지 않은 경우
RelationNotFoundException - 이 메소드가, 관계 서비스에 추가되어 있지 않은 관계 MBean 에 대해서 불려 갔을 경우

getReferencedMBeans

public Map <ObjectName ,List <String >> getReferencedMBeans()
관계의 다양한 롤로 참조되는 MBean 를 가져옵니다.

정의:
인터페이스 Relation 내의 getReferencedMBeans
반환값:
HashMap 매핑:

ObjectName → String (롤명)로부터 완성되는 ArrayList


getRelationTypeName

public String  getRelationTypeName()
관련지을 수 있었던 관계형의 이름을 돌려줍니다.

정의:
인터페이스 Relation 내의 getRelationTypeName
반환값:
관계형의 이름

getRelationServiceName

public ObjectName  getRelationServiceName()
관계를 처리하는 관계 서비스의 ObjectName 를 돌려줍니다.

정의:
인터페이스 Relation 내의 getRelationServiceName
반환값:
관계 서비스의 ObjectName

getRelationId

public String  getRelationId()
관계 서비스내의 관계를 일의에 식별하기 위해서 사용되는 관계 식별자를 돌려줍니다.

정의:
인터페이스 Relation 내의 getRelationId
반환값:
관계 ID

preRegister

public ObjectName  preRegister(MBeanServer  server,
                              ObjectName  name)
                       throws Exception 
인터페이스 MBeanRegistration 의 기술:
MBean 서버에 등록하기 전에, MBean 에 필요한 오퍼레이션을 실행시킬 수가 있습니다. MBean 의 이름을 지정하지 않으면 MBean 에 의해, 등록용의 이름이 제공됩니다. 예외가 throw 되었을 경우, MBean 는 MBean 서버에 등록되지 않습니다.

정의:
인터페이스 MBeanRegistration 내의 preRegister
파라미터:
server - MBean 서버. MBean 는 여기에 등록되는
name - MBean 의 객체명. MBeanServer 인터페이스내의 createMBean 또는 registerMBean 메소드의 name 파라미터가 null 의 경우, 이 이름도 null 가 된다. 이 경우, 이 메소드는, 새로운 MBean 용으로 null 이외의 ObjectName 를 반드시 돌려준다
반환값:
MBean 의 등록명. null 는 지정할 수 없다. name 파라미터가 null 이외의 경우, 일반적으로은 값이 돌려주어지지만, 이것은 필수는 아니다
예외:
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다

postRegister

public void postRegister(Boolean  registrationDone)
인터페이스 MBeanRegistration 의 기술:
MBean 서버에의 등록이 성공 또는 실패한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postRegister
파라미터:
registrationDone - MBean 가 MBean 서버에 정상적으로 등록되었는지의 여부를 나타낸다. 등록에 실패했을 경우의 값은 false

preDeregister

public void preDeregister()
                   throws Exception 
인터페이스 MBeanRegistration 의 기술:
MBean 서버로부터 등록 해제하기 전에, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 preDeregister
예외:
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다

postDeregister

public void postDeregister()
인터페이스 MBeanRegistration 의 기술:
MBean 서버로부터 등록 해제한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postDeregister

isInRelationService

public Boolean  isInRelationService()
객체를 계속해 관계 서비스로 처리할지 어떨지를 지정하는 내부 플래그를 돌려줍니다.

정의:
인터페이스 RelationSupportMBean 내의 isInRelationService
반환값:
Boolean 형. 객체를 계속해 관계 서비스로 처리하는 경우는 Boolean.TRUE , 그 이외의 경우는 Boolean.FALSE

setRelationServiceManagementFlag

public void setRelationServiceManagementFlag(Boolean  flag)
                                      throws IllegalArgumentException 
인터페이스 RelationSupportMBean 의 기술:

이 관계를 관계 서비스로 처리할지 어떨지를 지정합니다.

관계 서비스는, 관리 인터페이스를 사용해 관계에 액세스 합니다. 따라서, 이 메소드는 공개의 필요가 있습니다. 이 메소드의 사용은 추천 되고 있지 않습니다. 비록 사용해도, 관계 서비스내의 관계 객체의 등록에 영향은 없습니다만, 잘못한 정보가 제공될 우려가 있기 때문입니다.

정의:
인터페이스 RelationSupportMBean 내의 setRelationServiceManagementFlag
파라미터:
flag - 관계를 관계 서비스로 처리할지 어떨지
예외:
IllegalArgumentException - 파라미터가 null 의 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.