JavaTM 2 Platform
Standard Ed. 6

javax.management.relation
介面 Relation

所有已知子介面:
RelationSupportMBean
所有已知實作類別:
RelationSupport

public interface Relation

此介面必須由任何 MBean 類別(期望表示為一種使用 Relation Service 管理的關係)來實作。

簡單的關係(即只有角色,沒有屬性或方法)可以由 Relation Service 直接創建(表示為 RelationSupport 物件,由 Relation Service 內部處理)。

如果使用者希望表示更複雜的關係(包括屬性和/或方法),則其必須提供自己實作 Relation 介面的類別。這可以通過從 RelationSupport 類別繼承得到,也可以通過實作該介面得到(全權或者委託給 RelationSupport 物件成員)。

指定這樣的使用者關係類別是為了引入屬性和/或方法。這些都要向遠端管理公開。因此,這意味著任何使用者關係類別都必須是一個 MBean 類別。

從以下版本開始:
1.5

方法摘要
 RoleResult getAllRoles()
          返回該關係中存在的所有角色。
 Map<ObjectName,List<String>> getReferencedMBeans()
          檢索在該關係的各種角色中參考的 MBean。
 String getRelationId()
          返回關係標識符(用於唯一標識 Relation Service 內的關係)。
 ObjectName getRelationServiceName()
          返回處理關係的 Relation Service 的 ObjectName。
 String getRelationTypeName()
          返回相關關係型別的名稱。
 List<ObjectName> getRole(String roleName)
          檢索給定角色名稱的角色值。
 Integer getRoleCardinality(String roleName)
          返回當前在給定角色中參考的 MBean 數。
 RoleResult getRoles(String[] roleNameArray)
          檢索具有給定名稱的角色值。
 void handleMBeanUnregistration(ObjectName objectName, String roleName)
          在註銷角色中參考的 MBean 時由 Relation Service 使用的回調。
 RoleList retrieveAllRoles()
          返回關係中的所有角色,不檢查讀取網要。
 void setRole(Role role)
          設置給定角色。
 RoleResult setRoles(RoleList roleList)
          設置給定的角色。
 

方法詳細資訊

getRole

List<ObjectName> getRole(String roleName)
                         throws IllegalArgumentException,
                                RoleNotFoundException,
                                RelationServiceNotRegisteredException
檢索給定角色名稱的角色值。

按照關係型別檢查角色是否存在及是否可讀。

參數:
roleName - 角色名稱
返回:
作為角色值的 ObjectName 物件的 ArrayList
拋出:
IllegalArgumentException - 如果為 null 角色名稱
RoleNotFoundException - 如果:

- 不存在具有給定名稱的角色

- 角色不可讀。

RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
另請參見:
setRole(javax.management.relation.Role)

getRoles

RoleResult getRoles(String[] roleNameArray)
                    throws IllegalArgumentException,
                           RelationServiceNotRegisteredException
檢索具有給定名稱的角色值。

按照關係型別檢查每個角色是否存在及是否可讀。

參數:
roleNameArray - 要檢索的角色名稱的陣列
返回:
RoleResult 物件,包括一個 RoleList(針對成功檢索到的角色)和一個 RoleUnresolvedList(針對未檢索到的角色)。
拋出:
IllegalArgumentException - 如果是 null 角色名稱
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊。
另請參見:
setRoles(javax.management.relation.RoleList)

getRoleCardinality

Integer getRoleCardinality(String roleName)
                           throws IllegalArgumentException,
                                  RoleNotFoundException
返回當前在給定角色中參考的 MBean 數。

參數:
roleName - 角色名稱
返回:
當前在此角色中參考的 MBean 數
拋出:
IllegalArgumentException - 如果是 null 角色名稱
RoleNotFoundException - 如果不存在具有給定名稱的角色

getAllRoles

RoleResult getAllRoles()
                       throws RelationServiceNotRegisteredException
返回該關係中存在的所有角色。

返回:
RoleResult 物件,該物件包括一個 RoleList(針對成功檢索到的角色)和一個 RoleUnresolvedList(針對不可讀的角色)。
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊

retrieveAllRoles

RoleList retrieveAllRoles()
返回關係中的所有角色,不檢查讀取網要。

返回:
一個 RoleList。

setRole

void setRole(Role role)
             throws IllegalArgumentException,
                    RoleNotFoundException,
                    RelationTypeNotFoundException,
                    InvalidRoleValueException,
                    RelationServiceNotRegisteredException,
                    RelationNotFoundException
設置給定角色。

將按照其在關係的關係型別中提供的相應角色定義檢查角色

將發送通知(帶型別 RELATION_BASIC_UPDATE 或 RELATION_MBEAN_UPDATE 的 RelationNotification,具體取決於該關係是否為 MBean)

參數:
role - 要設置的角色(名稱和新值)
拋出:
IllegalArgumentException - 如果是 null 角色。
RoleNotFoundException - 如果不存在具有指定名稱的角色,或者該角色不可寫(初始化角色時未執行寫入存取網要測試)。
InvalidRoleValueException - 如果為角色提供的值無效,例如:

- 給定值中參考的 MBean 數小於期望的最小程度;

- 提供的值中參考的 MBean 數超過期望的最大程度;

- 該值中參考的 MBean 的一個物件不是該角色期望的 MBean 類別的物件;

- 如果不存在為該角色提供的 MBean。

RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊。
RelationTypeNotFoundException - 如果在 Relation Service 中尚未宣告該關係型別。
RelationNotFoundException - 如果尚未在 Relation Service 中添加關係。
另請參見:
getRole(java.lang.String)

setRoles

RoleResult setRoles(RoleList roleList)
                    throws IllegalArgumentException,
                           RelationServiceNotRegisteredException,
                           RelationTypeNotFoundException,
                           RelationNotFoundException
設置給定的角色。

將按照其在關係的關係型別中提供的相應角色定義檢查角色

每個更新的角色將發送一個通知(帶型別 RELATION_BASIC_UPDATE 或 RELATION_MBEAN_UPDATE 的 RelationNotification,具體取決於該關係是否為 MBean)。

參數:
roleList - 要設置的角色列表
返回:
RoleResult 物件,該物件包括一個 RoleList(針對成功設置的角色)和一個 RoleUnresolvedList(針對未成功設置的角色)。
拋出:
IllegalArgumentException - 如果是 null 角色列表;
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊;
RelationTypeNotFoundException - 如果在 Relation Service 中尚未宣告該關係型別;
RelationNotFoundException - 如果尚未在 Relation Service 中添加關係 MBean。
另請參見:
getRoles(java.lang.String[])

handleMBeanUnregistration

void handleMBeanUnregistration(ObjectName objectName,
                               String roleName)
                               throws IllegalArgumentException,
                                      RoleNotFoundException,
                                      InvalidRoleValueException,
                                      RelationServiceNotRegisteredException,
                                      RelationTypeNotFoundException,
                                      RelationNotFoundException
在註銷角色中參考的 MBean 時由 Relation Service 使用的回調。

Relation Service 將調用此方法,以讓該關係採取行動來反映這種註銷的影響。

小心,不期望使用者調用此方法。

當前實作是為了用其當前值(參考的 MBean 的 ObjectName 列表)而不用註銷的值設置角色。

參數:
objectName - 註銷的 MBean 的 ObjectName
roleName - 在其中參考 MBean 的角色名稱
拋出:
IllegalArgumentException - 如果是 null 參數;
RoleNotFoundException - 如果角色不在關係中或不可寫;
InvalidRoleValueException - 如果角色值不遵循相關角色資訊(這永遠不會在從 Relation Service 中調用時發生);
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 註冊;
RelationTypeNotFoundException - 如果在 Relation Service 中尚未宣告該關係型別;
RelationNotFoundException - 如果未在 Relation Service 中添加的關係 MBean 調用此方法。

getReferencedMBeans

Map<ObjectName,List<String>> getReferencedMBeans()
檢索在該關係的各種角色中參考的 MBean。

返回:
一個 HashMap 映射:

ObjectName -> ArrayList of String(角色名)


getRelationTypeName

String getRelationTypeName()
返回相關關係型別的名稱。

返回:
關係型別的名稱。

getRelationServiceName

ObjectName getRelationServiceName()
返回處理關係的 Relation Service 的 ObjectName。

返回:
Relation Service 的 ObjectName。

getRelationId

String getRelationId()
返回關係標識符(用於唯一標識 Relation Service 內的關係)。

返回:
關係 id。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only