JavaTM 2 Platform
Standard Ed. 6

javax.management.relation
介面 RelationServiceMBean

所有已知實作類別:
RelationService

public interface RelationServiceMBean

Relation Service 負責創建和刪除關係型別和關係,還負責處理一致性和提供查詢機制。

從以下版本開始:
1.5

方法摘要
 void addRelation(ObjectName relationObjectName)
          作為 Relation Service 中的關係添加由使用者創建(且由其在 MBean Server 中註冊)的 MBean。
 void addRelationType(RelationType relationTypeObj)
          作為關係型別添加給定的物件。
 Integer checkRoleReading(String roleName, String relationTypeName)
          檢查給定 Role 能否在給定型別的關係中讀取。
 Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag)
          檢查給定 Role 能否在給定型別的關係中設置。
 void createRelation(String relationId, String relationTypeName, RoleList roleList)
          創建給定關係型別的簡單關係(由 RelationSupport 物件表示),並將其添加到 Relation Service 中。
 void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray)
          用給定的角色資訊(由 RoleInfo 物件提供)創建一個關係型別(RelationTypeSupport 物件),並將其添加到 Relation Service 中。
 Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName)
          檢索與關係中給定關係相關的 MBean。
 Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName)
          檢索在其中參考給定 MBean 的關係。
 List<String> findRelationsOfType(String relationTypeName)
          返回給定型別的關係的關係 id。
 List<String> getAllRelationIds()
          返回由 Relation Service 處理的所有關係的所有關係 id。
 List<String> getAllRelationTypeNames()
          檢索所有已知關係型別的名稱。
 RoleResult getAllRoles(String relationId)
          返回關係中存在的所有角色。
 boolean getPurgeFlag()
          返回一個標誌,以指示註銷關係中參考的 MBean 時是否接收到通知,是否必須執行關係的直接“肅清”(尋找不再有效的關係),或者是否只在顯式調用 purgeRelations 方法時執行該操作。
 Map<ObjectName,List<String>> getReferencedMBeans(String relationId)
          檢索關係的各種角色中參考的 MBean。
 String getRelationTypeName(String relationId)
          返回給定關係的相關關係型別的名稱。
 List<ObjectName> getRole(String relationId, String roleName)
          檢索給定關係中給定角色名稱的角色值。
 Integer getRoleCardinality(String relationId, String roleName)
          檢索給定角色中當前參考的 MBean 數。
 RoleInfo getRoleInfo(String relationTypeName, String roleInfoName)
          檢索給定關係型別的給定角色的角色資訊。
 List<RoleInfo> getRoleInfos(String relationTypeName)
          檢索給定關係型別的角色資訊(RoleInfo 物件)的列表。
 RoleResult getRoles(String relationId, String[] roleNameArray)
          檢索給定關係中具有給定名稱的角色值。
 Boolean hasRelation(String relationId)
          用給定的關係 id 檢查是否存在 Relation Service 中標識的關係。
 void isActive()
          檢查該 Relation Service 是否處於活動狀態。
 String isRelation(ObjectName objectName)
          如果 Relation Service 中作為關係添加 MBean,則返回與給定 ObjectName 相關的關係 id。
 ObjectName isRelationMBean(String relationId)
          如果用 MBean 表示關係(由使用者創建且作為 Relation Service 中的關係添加),則返回該 MBean 的 ObjectName。
 void purgeRelations()
          肅清關係。
 void removeRelation(String relationId)
          從 Relation Service 移除給定的關係。
 void removeRelationType(String relationTypeName)
          從 Relation Service 中移除給定的關係型別。
 void sendRelationCreationNotification(String relationId)
          發送關係創建通知 (RelationNotification)。
 void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList)
          發送關係移除通知 (RelationNotification)。
 void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue)
          發送給定關係中的角色更新通知 (RelationNotification)。
 void setPurgeFlag(boolean purgeFlag)
          設置一個標誌,以指示註銷關係中參考的 MBean 時是否接收到通知,是否必須執行關係的直接“肅清”(尋找不再有效的關係),或者是否只在顯式調用 purgeRelations 方法時執行該操作。
 void setRole(String relationId, Role role)
          以給定關係設置給定角色。
 RoleResult setRoles(String relationId, RoleList roleList)
          以給定關係設置給定角色。
 void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue)
          針對給定關係中給定角色的更新來處理 Relation Service 角色映射的更新。
 

方法詳細資訊

isActive

void isActive()
              throws RelationServiceNotRegisteredException
檢查該 Relation Service 是否處於活動狀態。當前的條件是,Relation Service 必須在 MBean Server 中註冊。

拋出:
RelationServiceNotRegisteredException - 如果尚未註冊 Relation Service

getPurgeFlag

boolean getPurgeFlag()
返回一個標誌,以指示註銷關係中參考的 MBean 時是否接收到通知,是否必須執行關係的直接“肅清”(尋找不再有效的關係),或者是否只在顯式調用 purgeRelations 方法時執行該操作。

true 表示立即肅清。

返回:
如果是直接肅清,則返回 true。
另請參見:
setPurgeFlag(boolean)

setPurgeFlag

void setPurgeFlag(boolean purgeFlag)
設置一個標誌,以指示註銷關係中參考的 MBean 時是否接收到通知,是否必須執行關係的直接“肅清”(尋找不再有效的關係),或者是否只在顯式調用 purgeRelations 方法時執行該操作。

true 表示立即肅清。

參數:
purgeFlag - 標誌
另請參見:
getPurgeFlag()

createRelationType

void createRelationType(String relationTypeName,
                        RoleInfo[] roleInfoArray)
                        throws IllegalArgumentException,
                               InvalidRelationTypeException
用給定的角色資訊(由 RoleInfo 物件提供)創建一個關係型別(RelationTypeSupport 物件),並將其添加到 Relation Service 中。

參數:
relationTypeName - 關係型別的名稱
roleInfoArray - 角色資訊的陣列
拋出:
IllegalArgumentException - 如果參數為 null
InvalidRelationTypeException - 如果:

- 具有該名稱的關係型別已經存在

- 兩個不同的角色資訊使用了同一個名稱

- 未提供角色資訊

- 提供了一個 null 角色資訊


addRelationType

void addRelationType(RelationType relationTypeObj)
                     throws IllegalArgumentException,
                            InvalidRelationTypeException
作為關係型別添加給定的物件。該物件期望實作 RelationType 介面。

參數:
relationTypeObj - 關係型別物件(實作該 RelationType 介面)
拋出:
IllegalArgumentException - 如果參數為 null或者 relationTypeObj.getRelationTypeName() 返回 null。
InvalidRelationTypeException - 如果已經存在具有該名稱的關係型別

getAllRelationTypeNames

List<String> getAllRelationTypeNames()
檢索所有已知關係型別的名稱。

返回:
關係型別名稱的 ArrayList(字元串)

getRoleInfos

List<RoleInfo> getRoleInfos(String relationTypeName)
                            throws IllegalArgumentException,
                                   RelationTypeNotFoundException
檢索給定關係型別的角色資訊(RoleInfo 物件)的列表。

參數:
relationTypeName - 關係型別的名稱
返回:
RoleInfo 的 ArrayList。
拋出:
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果不存在具有該名稱的關係型別。

getRoleInfo

RoleInfo getRoleInfo(String relationTypeName,
                     String roleInfoName)
                     throws IllegalArgumentException,
                            RelationTypeNotFoundException,
                            RoleInfoNotFoundException
檢索給定關係型別的給定角色的角色資訊。

參數:
relationTypeName - 關係型別的名稱
roleInfoName - 角色的名稱
返回:
RoleInfo 物件。
拋出:
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果在 Relation Service 中的關係型別未知
RoleInfoNotFoundException - 如果該角色不是該關係型別的一部分。

removeRelationType

void removeRelationType(String relationTypeName)
                        throws RelationServiceNotRegisteredException,
                               IllegalArgumentException,
                               RelationTypeNotFoundException
從 Relation Service 中移除給定的關係型別。

此型別的關係物件將從 Relation Service 中移除。

參數:
relationTypeName - 要移除的關係型別名稱
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果不存在具有該名稱的關係型別

createRelation

void createRelation(String relationId,
                    String relationTypeName,
                    RoleList roleList)
                    throws RelationServiceNotRegisteredException,
                           IllegalArgumentException,
                           RoleNotFoundException,
                           InvalidRelationIdException,
                           RelationTypeNotFoundException,
                           InvalidRoleValueException
創建給定關係型別的簡單關係(由 RelationSupport 物件表示),並將其添加到 Relation Service 中。

按照在參數中提供的角色列表初始化角色。將未按此方法初始化的角色設置為 ObjectName 的空 ArrayList。

發送帶型別 RELATION_BASIC_CREATION 的 RelationNotification。

參數:
relationId - 關係標識符,用來唯一地標識 Relation Service 中的關係
relationTypeName - 關係型別的名稱(必須在 Relation Service 中創建)
roleList - 要初始化該關係的角色的角色列表(可以為 null)。
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
IllegalArgumentException - 如果參數為 null
RoleNotFoundException - 如果為關係型別中不存在的角色提供值
InvalidRelationIdException - 如果關係 id 已經使用
RelationTypeNotFoundException - 如果在 Relation Service 中關係型別是未知的
InvalidRoleValueException - 如果:

- 兩個不同的角色使用了同一個角色名稱

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

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

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

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


addRelation

void addRelation(ObjectName relationObjectName)
                 throws IllegalArgumentException,
                        RelationServiceNotRegisteredException,
                        NoSuchMethodException,
                        InvalidRelationIdException,
                        InstanceNotFoundException,
                        InvalidRelationServiceException,
                        RelationTypeNotFoundException,
                        RoleNotFoundException,
                        InvalidRoleValueException
作為 Relation Service 中的關係添加由使用者創建(且由其在 MBean Server 中註冊)的 MBean。

要作為關係添加 MBean,其必須遵循以下做法:

- 實作該 Relation 介面

- 具有 RelationService ObjectName,即當前 Relation Service 的 ObjectName

- 具有在當前 Relation Service 中唯一且未使用的關係 id

- 具有關係型別,即在 Relation Service 中創建的關係型別

- 具有遵循在關係型別中提供的角色資訊的角色。

參數:
relationObjectName - 要添加的關係 MBean 的 ObjectName。
拋出:
IllegalArgumentException - 如果參數為 null
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
NoSuchMethodException - 如果 MBean 未實作 Relation 介面
InvalidRelationIdException - 如果:

- MBean 中沒有關係標識符

- 在 Relation Service 中已經使用關係標識符

InstanceNotFoundException - 如果尚未註冊給定 ObjectName 的 MBean
InvalidRelationServiceException - 如果:

- MBean 中沒有 Relation Service 名稱

- MBean 中的 Relation Service 名稱不是當前 Relation Service 的名稱

RelationTypeNotFoundException - 如果:

- MBean 中沒有關係型別名稱

- MBean 中的關係型別名稱與 Relation Service 中創建的關係型別不對應

InvalidRoleValueException - 如果:

- 角色中參考的 MBean 數小於期望的最小程度

- 角色中參考的 MBean 數超過期望的最大程度

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

- 為角色提供的 MBean 不存在

RoleNotFoundException - 如果為關係型別中不存在的角色提供了值

isRelationMBean

ObjectName isRelationMBean(String relationId)
                           throws IllegalArgumentException,
                                  RelationNotFoundException
如果用 MBean 表示關係(由使用者創建且作為 Relation Service 中的關係添加),則返回該 MBean 的 ObjectName。

參數:
relationId - 標識關係的關係 id
返回:
相應關係 MBean 的 ObjectName;如果該關係不是 MBean,則返回 null。
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在與該 id 相關的關係

isRelation

String isRelation(ObjectName objectName)
                  throws IllegalArgumentException
如果 Relation Service 中作為關係添加 MBean,則返回與給定 ObjectName 相關的關係 id。

參數:
objectName - 假定關係的 ObjectName
返回:
關係 id(字元串);或返回 null(如果 ObjectName 不是由 Relation Service 處理的關係)
拋出:
IllegalArgumentException - 如果參數為 null

hasRelation

Boolean hasRelation(String relationId)
                    throws IllegalArgumentException
用給定的關係 id 檢查是否存在 Relation Service 中標識的關係。

參數:
relationId - 標識關係的關係 id
返回:
boolean: 如果存在關係,則返回 true;否則返回 false
拋出:
IllegalArgumentException - 如果參數為 null

getAllRelationIds

List<String> getAllRelationIds()
返回由 Relation Service 處理的所有關係的所有關係 id。

返回:
String 的 ArrayList

checkRoleReading

Integer checkRoleReading(String roleName,
                         String relationTypeName)
                         throws IllegalArgumentException,
                                RelationTypeNotFoundException
檢查給定 Role 能否在給定型別的關係中讀取。

參數:
roleName - 要檢查的角色名稱
relationTypeName - 關係型別的名稱
返回:
包裹整數的 Integer,該整數對應於 RoleUnresolved 中用常數表示的可能問題:

- 如果角色可讀,則用 0 表示

- 對應於 RoleStatus.NO_ROLE_WITH_NAME 的整數

- 對應於 RoleStatus.ROLE_NOT_READABLE 的整數

拋出:
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果 Relation Service 中的關係型別是未知的

checkRoleWriting

Integer checkRoleWriting(Role role,
                         String relationTypeName,
                         Boolean initFlag)
                         throws IllegalArgumentException,
                                RelationTypeNotFoundException
檢查給定 Role 能否在給定型別的關係中設置。

參數:
role - 要檢查的角色
relationTypeName - 關係型別的名稱
initFlg - 指定已完成角色的初始化檢查,並且不驗證寫入存取的標誌。
返回:
包裹整數的 Integer,該整數對應於 RoleUnresolved 中用常數表示的可能問題:

- 如果角色可以設置,則用 0 表示

- 對應於 RoleStatus.NO_ROLE_WITH_NAME 的整數

- 對應於 RoleStatus.ROLE_NOT_WRITABLE 的整數

- 對應於 RoleStatus.LESS_THAN_MIN_ROLE_DEGREE 的整數

- 對應於 RoleStatus.MORE_THAN_MAX_ROLE_DEGREE 的整數

- 對應於 RoleStatus.REF_MBEAN_OF_INCORRECT_CLASS 的整數

- 對應於 RoleStatus.REF_MBEAN_NOT_REGISTERED 的整數

拋出:
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果是未知關係型別

sendRelationCreationNotification

void sendRelationCreationNotification(String relationId)
                                      throws IllegalArgumentException,
                                             RelationNotFoundException
發送關係創建通知 (RelationNotification)。通知型別是:

- RelationNotification.RELATION_BASIC_CREATION,如果該關係是 Relation Service 內部的一個物件

- RelationNotification.RELATION_MBEAN_CREATION,如果該關係是作為關係添加的 MBean。

源物件是 Relation Service 本身。

它在 Relation Service createRelation() 和 addRelation() 方法中調用。

參數:
relationId - 更新的關係的關係標識符
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在給定關係 id 的關係

sendRoleUpdateNotification

void sendRoleUpdateNotification(String relationId,
                                Role newRole,
                                List<ObjectName> oldRoleValue)
                                throws IllegalArgumentException,
                                       RelationNotFoundException
發送給定關係中的角色更新通知 (RelationNotification)。通知型別是:

- RelationNotification.RELATION_BASIC_UPDATE,如果該關係是 Relation Service 內部的一個物件

- RelationNotification.RELATION_MBEAN_UPDATE,如果該關係是作為關係添加的 MBean。

源物件是 Relation Service 本身。

它在關係 MBean setRole()(針對給定角色)和 setRoles()(針對每個角色)方法(RelationSupport 類別中提供的實作)中調用。

它還在 Relation Service setRole()(針對給定角色)和 setRoles()(針對每個角色)方法中調用。

參數:
relationId - 更新的關係的關係標識符
newRole - 新的角色(名稱和新的值)
oldRoleValue - 舊角色值(ObjectName 物件的列表)
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在給定關係 id 的關係

sendRelationRemovalNotification

void sendRelationRemovalNotification(String relationId,
                                     List<ObjectName> unregMBeanList)
                                     throws IllegalArgumentException,
                                            RelationNotFoundException
發送關係移除通知 (RelationNotification)。通知型別是:

- RelationNotification.RELATION_BASIC_REMOVAL,如果該關係是 Relation Service 內部的一個物件

- RelationNotification.RELATION_MBEAN_REMOVAL,如果該關係是作為關係添加的 MBean。

源物件是 Relation Service 本身。

它在 Relation Service removeRelation() 方法中調用。

參數:
relationId - 更新的關係的關係標識符
unregMBeanList - 期望因為關係移除而註銷的 MBean 的 ObjectName 列表(可以為 null)
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在給定關係 id 的關係

updateRoleMap

void updateRoleMap(String relationId,
                   Role newRole,
                   List<ObjectName> oldRoleValue)
                   throws IllegalArgumentException,
                          RelationServiceNotRegisteredException,
                          RelationNotFoundException
針對給定關係中給定角色的更新來處理 Relation Service 角色映射的更新。

它在關係 MBean setRole()(針對給定角色)和 setRoles()(針對每個角色)方法(RelationSupport 類別中提供的實作)中調用。

它還在 Relation Service setRole()(針對給定角色)和 setRoles()(針對每個角色)方法中調用。

為了允許 Relation Service 維護一致性(MBean 註銷時)以及能夠執行查詢,更新角色時必須調用此方法。

參數:
relationId - 已更新關係的關係標識符
newRole - 新的角色(名稱和新值)
oldRoleValue - 舊角色值(ObjectName 物件的列表)
拋出:
IllegalArgumentException - 如果參數為 null
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
RelationNotFoundException - 如果沒有給定 id 的關係。

removeRelation

void removeRelation(String relationId)
                    throws RelationServiceNotRegisteredException,
                           IllegalArgumentException,
                           RelationNotFoundException
從 Relation Service 移除給定的關係。

發送 RelationNotification 通知,其型別是:

- RelationNotification.RELATION_BASIC_REMOVAL,如果該關係只在 Relation Service 內部

- RelationNotification.RELATION_MBEAN_REMOVAL,如果該關係作為 MBean 註冊。

對於在這樣的關係中參考的 MBean,將不執行任何操作,

參數:
relationId - 要移除的關係的關係 id
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有對應於給定關係 id 的關係

purgeRelations

void purgeRelations()
                    throws RelationServiceNotRegisteredException
肅清關係。

根據 purgeFlag 值,此方法即可以在接收到關係中參考的 MBean 的註銷通知時自動調用(如果將該標誌設置為 true),也可以不調用(如果將該標誌設置為 false)。

在此情況下,使用者負責調用它來維護關係的一致性。一定要記住:如果註銷 MBean 但沒立即執行肅清,這時如果重新使用 ObjectName 並將其指派給關係中另一個參考的 MBean,那麼手動調用此 purgeRelations() 就會出現問題,因為這樣會認為此 ObjectName 就是已註銷的 MBean,不把它看作新的 MBean。

該行為取決於在其中參考註銷的 MBean 的角色數量:

- 如果移除角色中的一個 MBean 參考使其參考數少於最小程度,則必須移除該關係。

- 如果移除 MBean 參考後剩餘的參考數仍然在該容量範圍內,則保持該關係並在調用其 handleMBeanUnregistration() 回調時更新。

拋出:
RelationServiceNotRegisteredException - 如果該 Relation Service 未在 MBean Server 中註冊。

findReferencingRelations

Map<String,List<String>> findReferencingRelations(ObjectName mbeanName,
                                                  String relationTypeName,
                                                  String roleName)
                                                  throws IllegalArgumentException
檢索在其中參考給定 MBean 的關係。

這對應於 CIM "Reference" 和 "ReferenceName" 操作。

參數:
mbeanName - MBean 的 ObjectName
relationTypeName - 可以為 null;如果已指定,則將只在搜尋時考慮該型別的關係。其他情況下將考慮所有關係型別。
roleName - 可以為 null;如果已指定,則只返回將在該角色中參考的 MBean 關係。其他情況要考慮所有角色。
返回:
HashMap,密鑰為在其中參考 MBean 的關係的關係 id,並且每個密鑰的值是角色名稱的 ArrayList(因為 MBean 可以在同一關係中的幾個角色中參考)。
拋出:
IllegalArgumentException - 如果參數為 null

findAssociatedMBeans

Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName,
                                                  String relationTypeName,
                                                  String roleName)
                                                  throws IllegalArgumentException
檢索與關係中給定關係相關的 MBean。

這對應於 CIM Associator 和 AssociatorName 操作。

參數:
mbeanName - MBean 的 ObjectName
relationTypeName - 可以為 null;如果已指定,則將只在搜尋時考慮該型別的關係。其他情況下將考慮所有關係型別。
roleName - 可以為 null;如果已指定,則只返回將在該角色中參考的 MBean 關係。其他情況要考慮所有角色。
返回:
HashMap,密鑰是與給定 MBean 相關的 MBean 的 ObjectName,而對於每個密鑰而言,該值是這種關係的關係 id 的 ArrayList:密鑰 MBean 與給定的 MBean 相關(因為它們可以與幾個不同的關係相關)。
拋出:
IllegalArgumentException - 如果參數為 null

findRelationsOfType

List<String> findRelationsOfType(String relationTypeName)
                                 throws IllegalArgumentException,
                                        RelationTypeNotFoundException
返回給定型別的關係的關係 id。

參數:
relationTypeName - 關係型別名稱
返回:
關係 id 的 ArrayList。
拋出:
IllegalArgumentException - 如果參數為 null
RelationTypeNotFoundException - 如果不存在具有該名稱的關係型別。

getRole

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

參數:
relationId - 關係 id
roleName - 角色名稱
返回:
作為角色值的 ObjectName 物件的 ArrayList
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未註冊
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有帶給定 id 的關係
RoleNotFoundException - 如果:

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

或者

- 角色不可讀。

另請參見:
setRole(java.lang.String, javax.management.relation.Role)

getRoles

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

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

getAllRoles

RoleResult getAllRoles(String relationId)
                       throws IllegalArgumentException,
                              RelationNotFoundException,
                              RelationServiceNotRegisteredException
返回關係中存在的所有角色。

參數:
relationId - 關係 id
返回:
RoleResult 物件,該物件包括一個 RoleList(針對成功檢索到的角色)和一個 RoleUnresolvedList(針對不可讀的角色)。
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有指定 id 的關係
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊

getRoleCardinality

Integer getRoleCardinality(String relationId,
                           String roleName)
                           throws IllegalArgumentException,
                                  RelationNotFoundException,
                                  RoleNotFoundException
檢索給定角色中當前參考的 MBean 數。

參數:
relationId - 關係 id
roleName - 角色名稱
返回:
當前在此角色中參考的 MBean 數
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有帶指定 id 的關係
RoleNotFoundException - 如果不存在具有指定名稱的角色

setRole

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

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

通過處理參考的 MBean 註銷,Relation Service 將追蹤更改來保持關係的一致性。

參數:
relationId - 關係 id
role - 要設置的角色(名稱和新值)
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有帶給定 id 的關係
RoleNotFoundException - 如果:

- 內部關係

以及

- 角色不存在或不可寫

InvalidRoleValueException - 如果為內部關係且為角色提供的值無效:

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

或者

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

或者

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

或者

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

RelationTypeNotFoundException - 如果為未知關係型別
另請參見:
getRole(java.lang.String, java.lang.String)

setRoles

RoleResult setRoles(String relationId,
                    RoleList roleList)
                    throws RelationServiceNotRegisteredException,
                           IllegalArgumentException,
                           RelationNotFoundException
以給定關係設置給定角色。

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

通過處理參考的 MBean 註銷,Relation Service 追蹤更改來保持關係的一致性。

參數:
relationId - 關係 id
roleList - 要設置的角色列表
返回:
RoleResult 物件,該物件包括一個 RoleList(針對成功設置的角色)和一個 RoleUnresolvedList(針對未成功設置的角色)。
拋出:
RelationServiceNotRegisteredException - 如果 Relation Service 未在 MBean Server 中註冊
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果沒有帶給定 id 的關係
另請參見:
getRoles(java.lang.String, java.lang.String[])

getReferencedMBeans

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

參數:
relationId - 關係 id
返回:
一個 HashMap 映射:

ObjectName -> ArrayList of String(角色名)

拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在給定關係 id 的關係

getRelationTypeName

String getRelationTypeName(String relationId)
                           throws IllegalArgumentException,
                                  RelationNotFoundException
返回給定關係的相關關係型別的名稱。

參數:
relationId - 關係 id
返回:
相關關係型別的名稱。
拋出:
IllegalArgumentException - 如果參數為 null
RelationNotFoundException - 如果不存在給定關係 id 的關係

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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