- 所有已知的实现类:
RelationService
- 自从:
- 1.5
-
方法总结
修饰符和类型方法描述void
addRelation
(ObjectName relationObjectName) 添加一个由用户创建(并由他在 MBean 服务中注册)的 MBean 作为关系服务中的关系。void
addRelationType
(RelationType relationTypeObj) 添加给定对象作为关系类型。checkRoleReading
(String roleName, String relationTypeName) 检查给定角色是否可以在给定类型的关系中读取。checkRoleWriting
(Role role, String relationTypeName, Boolean initFlag) 检查是否可以在给定类型的关系中设置给定角色。void
createRelation
(String relationId, String relationTypeName, RoleList roleList) 创建给定关系类型的简单关系(由 RelationSupport 对象表示),并将其添加到关系服务中。void
createRelationType
(String relationTypeName, RoleInfo[] roleInfoArray) 创建具有给定角色信息(由 RoleInfo 对象提供)的关系类型(RelationTypeSupport 对象),并将其添加到关系服务中。findAssociatedMBeans
(ObjectName mbeanName, String relationTypeName, String roleName) 检索与关系中给定的 MBean 关联的 MBean。findReferencingRelations
(ObjectName mbeanName, String relationTypeName, String roleName) 检索引用给定 MBean 的关系。findRelationsOfType
(String relationTypeName) 返回给定类型的关系的关系 ID。返回关系服务处理的所有关系的所有关系 ID。检索所有已知关系类型的名称。getAllRoles
(String relationId) 返回关系中存在的所有角色。boolean
返回标志以指示是否收到注销关系中引用的 MBean 的通知时,是否必须立即“清除”关系(查找不再有效的关系),或者是否将执行此操作仅在显式调用 purgeRelations 方法时执行。getReferencedMBeans
(String relationId) 检索在关系的各种角色中引用的 MBean。getRelationTypeName
(String relationId) 返回给定关系的关联关系类型的名称。检索给定关系中给定角色名称的角色值。getRoleCardinality
(String relationId, String roleName) 检索当前在给定角色中引用的 MBean 数。getRoleInfo
(String relationTypeName, String roleInfoName) 检索给定关系类型的给定角色的角色信息。getRoleInfos
(String relationTypeName) 检索给定关系类型的角色信息列表(RoleInfo 对象)。检索给定关系中具有给定名称的角色的值。hasRelation
(String relationId) 检查关系服务中是否存在具有给定关系 ID 的关系。void
isActive()
检查关系服务是否处于活动状态。isRelation
(ObjectName objectName) 如果 MBean 已作为关系添加到关系服务中,则返回关联到给定 ObjectName 的关系 ID。isRelationMBean
(String relationId) 如果关系由 MBean 表示(由用户创建并作为关系添加到关系服务中),则返回 MBean 的 ObjectName。void
清除关系。void
removeRelation
(String relationId) 从关系服务中删除给定的关系。void
removeRelationType
(String relationTypeName) 从关系服务中删除给定的关系类型。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
在给定关系中设置给定角色。在给定关系中设置给定角色。void
updateRoleMap
(String relationId, Role newRole, List<ObjectName> oldRoleValue) 为给定关系中给定角色的更新处理关系服务角色映射的更新。
-
方法详情
-
isActive
检查关系服务是否处于活动状态。当前条件是 Relation Service 必须在 MBean Server 中注册- 抛出:
RelationServiceNotRegisteredException
- 如果未注册
-
getPurgeFlag
boolean getPurgeFlag()返回标志以指示是否收到注销关系中引用的 MBean 的通知时,是否必须立即“清除”关系(查找不再有效的关系),或者是否将执行此操作仅在显式调用 purgeRelations 方法时执行。true 是立即清除。
- 返回:
- 如果清除是立即的,则为真。
- 参见:
-
setPurgeFlag
void setPurgeFlag(boolean purgeFlag) 设置标志以指示是否收到注销关系中引用的 MBean 的通知时,是否必须立即“清除”关系(查找不再有效的关系),或者是否将执行此操作仅在显式调用 purgeRelations 方法时执行。true 是立即清除。
- 参数:
purgeFlag
-标志- 参见:
-
createRelationType
void createRelationType(String relationTypeName, RoleInfo [] roleInfoArray) throws IllegalArgumentException , InvalidRelationTypeException 创建具有给定角色信息(由 RoleInfo 对象提供)的关系类型(RelationTypeSupport 对象),并将其添加到关系服务中。- 参数:
relationTypeName
- 关系类型的名称roleInfoArray
- 角色信息数组- 抛出:
IllegalArgumentException
- 如果参数为空InvalidRelationTypeException
- 如果:- 已经存在同名的关系类型
- 相同的名称已用于两个不同的角色信息
- 没有提供角色信息
- 提供了一个空角色信息
-
addRelationType
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException , InvalidRelationTypeException 添加给定对象作为关系类型。该对象应实现 RelationType 接口。- 参数:
relationTypeObj
- 关系类型对象(实现 RelationType 接口)- 抛出:
IllegalArgumentException
- 如果参数为 null 或如果relationTypeObj.getRelationTypeName()
返回 null。InvalidRelationTypeException
- 如果已经存在同名的关系类型
-
getAllRelationTypeNames
检索所有已知关系类型的名称。- 返回:
- 关系类型名称的数组列表(字符串)
-
getRoleInfos
List <RoleInfo > getRoleInfos(String relationTypeName) throws IllegalArgumentException , RelationTypeNotFoundException 检索给定关系类型的角色信息列表(RoleInfo 对象)。- 参数:
relationTypeName
- 关系类型的名称- 返回:
- 角色信息的数组列表。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型。
-
getRoleInfo
RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException , RelationTypeNotFoundException , RoleInfoNotFoundException 检索给定关系类型的给定角色的角色信息。- 参数:
relationTypeName
- 关系类型的名称roleInfoName
- 角色名称- 返回:
- 角色信息对象。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationTypeNotFoundException
- 如果关系类型在关系服务中未知RoleInfoNotFoundException
- 如果角色不是关系类型的一部分。
-
removeRelationType
void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationTypeNotFoundException 从关系服务中删除给定的关系类型。该类型的关系对象将从关系服务中删除。
- 参数:
relationTypeName
- 要删除的关系类型的名称- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型
-
createRelation
void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException , IllegalArgumentException , RoleNotFoundException , InvalidRelationIdException , RelationTypeNotFoundException , InvalidRoleValueException 创建给定关系类型的简单关系(由 RelationSupport 对象表示),并将其添加到关系服务中。角色根据参数中提供的角色列表进行初始化。未以这种方式初始化的将设置为一个空的 ObjectNames ArrayList。
发送类型为 RELATION_BASIC_CREATION 的 RelationNotification。
- 参数:
relationId
- 关系标识符,用于唯一标识关系服务内的关系relationTypeName
- 关系类型的名称(必须在关系服务中创建)roleList
- 用于初始化关系角色的角色列表(可以为空)。- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RoleNotFoundException
- 如果为关系类型中不存在的角色提供值InvalidRelationIdException
- 如果关系 ID 已被使用RelationTypeNotFoundException
- 如果关系服务中不知道关系类型InvalidRoleValueException
- 如果:- 相同的角色名称用于两个不同的角色
- 给定值中引用的 MBean 数小于预期的最小程度
- 提供的值中引用的 MBean 数量超过预期的最大程度
- 值中引用的一个 MBean 不是该角色预期的 MBean 类的对象
- 为该角色提供的 MBean 不存在
-
addRelation
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException , RelationServiceNotRegisteredException , NoSuchMethodException , InvalidRelationIdException , InstanceNotFoundException , InvalidRelationServiceException , RelationTypeNotFoundException , RoleNotFoundException , InvalidRoleValueException 添加一个由用户创建(并由他在 MBean 服务中注册)的 MBean 作为关系服务中的关系。要作为关系添加,MBean 必须符合以下条件:
- 实现关系接口
- 为 RelationService ObjectName 提供当前关系服务的 ObjectName
- 有一个在当前关系服务中唯一且未使用的关系 ID
- 具有在关系服务中创建的关系类型的关系类型
- 具有符合关系类型中提供的角色信息的角色。
- 参数:
relationObjectName
- 要添加的关系 MBean 的 ObjectName。- 抛出:
IllegalArgumentException
- 如果参数为空RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册NoSuchMethodException
- 如果 MBean 没有实现 Relation 接口InvalidRelationIdException
- 如果:- MBean 中没有关系标识符
- 关系标识符已在关系服务中使用
InstanceNotFoundException
- 如果给定 ObjectName 的 MBean 尚未注册InvalidRelationServiceException
- 如果:- MBean 中没有关系服务名称
- MBean 中的 Relation Service 名称不是当前 Relation Service 之一
RelationTypeNotFoundException
- 如果:- MBean 中没有关系类型名称
关系服务中创建的关系类型不对应
InvalidRoleValueException
- 如果:- 角色中引用的 MBean 数量小于预期的最小程度
- 角色中引用的 MBean 数量超过预期的最大程度
- 值中引用的一个 MBean 不是该角色预期的 MBean 类的对象
- 为角色提供的 MBean 不存在
RoleNotFoundException
- 如果为关系类型中不存在的角色提供值
-
isRelationMBean
ObjectName isRelationMBean(String relationId) throws IllegalArgumentException , RelationNotFoundException 如果关系由 MBean 表示(由用户创建并作为关系添加到关系服务中),则返回 MBean 的 ObjectName。- 参数:
relationId
- 标识关系的关系 ID- 返回:
- 对应关系 MBean 的 ObjectName,如果关系不是 MBean,则为 null。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 没有与该 ID 关联的关系
-
isRelation
如果 MBean 已作为关系添加到关系服务中,则返回关联到给定 ObjectName 的关系 ID。- 参数:
objectName
- 假定关系的 ObjectName- 返回:
- 关系 id (String) 或 null(如果 ObjectName 不是由关系服务处理的关系)
- 抛出:
IllegalArgumentException
- 如果参数为空
-
hasRelation
检查关系服务中是否存在具有给定关系 ID 的关系。- 参数:
relationId
- 标识关系的关系 ID- 返回:
- boolean:如果存在关系则为真,否则为假
- 抛出:
IllegalArgumentException
- 如果参数为空
-
getAllRelationIds
返回关系服务处理的所有关系的所有关系 ID。- 返回:
- 字符串数组列表
-
checkRoleReading
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException , RelationTypeNotFoundException 检查给定角色是否可以在给定类型的关系中读取。- 参数:
roleName
- 要检查的角色名称relationTypeName
- 关系类型的名称- 返回:
-
一个 Integer 包装一个整数,该整数对应于 RoleUnresolved 中表示为常量的可能问题:
- 0 如果角色可以被读取
- 对应于 RoleStatus.NO_ROLE_WITH_NAME 的整数
- 对应于 RoleStatus.ROLE_NOT_READABLE 的整数
- 抛出:
IllegalArgumentException
- 如果参数为空RelationTypeNotFoundException
- 如果关系类型在关系服务中未知
-
checkRoleWriting
Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException , RelationTypeNotFoundException 检查是否可以在给定类型的关系中设置给定角色。- 参数:
role
- 要检查的角色relationTypeName
- 关系类型的名称initFlag
- 用于指定检查已完成角色初始化的标志,不应验证写访问。- 返回:
-
一个 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
- 如果参数为空RelationTypeNotFoundException
- 如果未知关系类型
-
sendRelationCreationNotification
void sendRelationCreationNotification(String relationId) throws IllegalArgumentException , RelationNotFoundException 发送关系创建通知 (RelationNotification)。通知类型是:- RelationNotification.RELATION_BASIC_CREATION 如果关系是关系服务内部的对象
- RelationNotification.RELATION_MBEAN_CREATION 如果关系是作为关系添加的 MBean。
源对象是关系服务本身。
它在关系服务 createRelation() 和 addRelation() 方法中调用。
- 参数:
relationId
- 更新关系的关系标识符- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定关系 id 没有关系
-
sendRoleUpdateNotification
void sendRoleUpdateNotification(String relationId, Role newRole, List <ObjectName > oldRoleValue) throws IllegalArgumentException , RelationNotFoundException 为给定关系中的角色更新发送通知 (RelationNotification)。通知类型是:- RelationNotification.RELATION_BASIC_UPDATE 如果关系是关系服务内部的对象
- RelationNotification.RELATION_MBEAN_UPDATE 如果关系是作为关系添加的 MBean。
源对象是关系服务本身。
它在关系 MBean setRole()(对于给定角色)和 setRoles()(对于每个角色)方法(在 RelationSupport 类中提供的实现)中被调用。
它还在关系服务 setRole()(对于给定角色)和 setRoles()(对于每个角色)方法中被调用。
- 参数:
relationId
- 更新关系的关系标识符newRole
- 新角色(名称和新值)oldRoleValue
- 旧角色值(ObjectName 对象列表)- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定关系 id 没有关系
-
sendRelationRemovalNotification
void sendRelationRemovalNotification(String relationId, List <ObjectName > unregMBeanList) throws IllegalArgumentException , RelationNotFoundException 发送删除关系的通知 (RelationNotification)。通知类型是:- RelationNotification.RELATION_BASIC_REMOVAL 如果关系是关系服务内部的对象
- RelationNotification.RELATION_MBEAN_REMOVAL 如果关系是作为关系添加的 MBean。
源对象是关系服务本身。
它在关系服务 removeRelation() 方法中调用。
- 参数:
relationId
- 更新关系的关系标识符unregMBeanList
- 由于关系删除而预期取消注册的 MBean 的对象名称列表(可以为空)- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定关系 id 没有关系
-
updateRoleMap
void updateRoleMap(String relationId, Role newRole, List <ObjectName > oldRoleValue) throws IllegalArgumentException , RelationServiceNotRegisteredException , RelationNotFoundException 为给定关系中给定角色的更新处理关系服务角色映射的更新。它在关系 MBean setRole()(对于给定角色)和 setRoles()(对于每个角色)方法(在 RelationSupport 类中提供的实现)中被调用。
它还在关系服务 setRole()(对于给定角色)和 setRoles()(对于每个角色)方法中被调用。
为了允许关系服务保持一致性(在 MBean 注销的情况下)并能够执行查询,必须在更新角色时调用此方法。
- 参数:
relationId
- 更新关系的关系标识符newRole
- 新角色(名称和新值)oldRoleValue
- 旧角色值(ObjectName 对象列表)- 抛出:
IllegalArgumentException
- 如果参数为空RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册RelationNotFoundException
- 如果给定的 id 没有关系。
-
removeRelation
void removeRelation(String relationId) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationNotFoundException 从关系服务中删除给定的关系。发送 RelationNotification 通知,其类型为:
- RelationNotification.RELATION_BASIC_REMOVAL 如果关系仅在关系服务内部
- RelationNotification.RELATION_MBEAN_REMOVAL 如果关系注册为 MBean。
对于在这种关系中引用的 MBean,什么都不做,
- 参数:
relationId
- 要删除的关系的关系 ID- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果没有对应于给定关系 id 的关系
-
purgeRelations
清除关系。根据 purgeFlag 值,此方法在收到取消注册关系中引用的 MBean 的通知时自动调用(如果标志设置为 true),或者不调用(如果标志设置为 false)。
在那种情况下,由用户调用它来维护关系的一致性。请记住,如果未注册 MBean 且未立即清除,如果 ObjectName 被重用并分配给关系中引用的另一个 MBean,则手动调用此 purgeRelations() 方法将导致麻烦,因为将 ObjectName 视为对应于未注册的 MBean,看不到新的。
该行为取决于引用未注册 MBean 的角色的基数:
- 如果删除角色中的一个 MBean 引用使其引用数小于最小程度,则必须删除该关系。
- 如果删除 MBean 引用后剩余的引用数仍在基数范围内,则保留关系并调用其 handleMBeanUnregistration() 回调更新它。
- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册。
-
findReferencingRelations
Map <String ,List <String >> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException 检索引用给定 MBean 的关系。这对应于 CIM“References”和“ReferenceNames”操作。
- 参数:
mbeanName
- MBean 的对象名称relationTypeName
- 可以为空;如果指定,在搜索中将只考虑该类型的关系。否则将考虑所有关系类型。roleName
- 可以为空;如果指定,则仅返回在该角色中引用 MBean 的关系。否则考虑所有角色。- 返回:
- 一个 HashMap,其中键是引用 MBean 的关系的关系 ID,对于每个键,值是角色名称的 ArrayList(因为 MBean 可以在同一关系中的多个角色中引用)。
- 抛出:
IllegalArgumentException
- 如果参数为空
-
findAssociatedMBeans
Map <ObjectName ,List <String >> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException 检索与关系中给定的 MBean 关联的 MBean。这对应于 CIM Associators 和 AssociatorNames 操作。
- 参数:
mbeanName
- MBean 的对象名称relationTypeName
- 可以为空;如果指定,在搜索中将只考虑该类型的关系。否则将考虑所有关系类型。roleName
- 可以为空;如果指定,则仅考虑在该角色中引用 MBean 的关系。否则考虑所有角色。- 返回:
- 一个 HashMap,其中键是与给定 MBean 关联的 MBean 的对象名称,对于每个键,值是键 MBean 与给定关联的关系的关系 ID 的 ArrayList(因为它们可以关联在几种不同的关系中)。
- 抛出:
IllegalArgumentException
- 如果参数为空
-
findRelationsOfType
List <String > findRelationsOfType(String relationTypeName) throws IllegalArgumentException , RelationTypeNotFoundException 返回给定类型的关系的关系 ID。- 参数:
relationTypeName
- 关系类型名称- 返回:
- 关系 ID 的 ArrayList。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型。
-
getRole
List <ObjectName > getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationNotFoundException , RoleNotFoundException 检索给定关系中给定角色名称的角色值。- 参数:
relationId
- 关系 IDroleName
- 角色名称- 返回:
- ObjectName 对象的 ArrayList 是角色值
- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未注册IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果与给定的 id 无关RoleNotFoundException
- 如果:- 没有给定名称的角色
或者
- 角色不可读。
- 参见:
-
getRoles
RoleResult getRoles(String relationId, String [] roleNameArray) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationNotFoundException 检索给定关系中具有给定名称的角色的值。- 参数:
relationId
- 关系 IDroleNameArray
- 要检索的角色名称数组- 返回:
- 一个 RoleResult 对象,包括一个 RoleList(对于成功检索到的角色)和一个 RoleUnresolvedList(对于未检索到的角色)。
- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果与给定的 id 无关- 参见:
-
getAllRoles
RoleResult getAllRoles(String relationId) throws IllegalArgumentException , RelationNotFoundException , RelationServiceNotRegisteredException 返回关系中存在的所有角色。- 参数:
relationId
- 关系 ID- 返回:
- 一个 RoleResult 对象,包括一个 RoleList(对于成功检索到的角色)和一个 RoleUnresolvedList(对于不可读的角色)。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定的 id 没有关系RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册
-
getRoleCardinality
Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException , RelationNotFoundException , RoleNotFoundException 检索当前在给定角色中引用的 MBean 数。- 参数:
relationId
- 关系 IDroleName
- 角色名称- 返回:
- 该角色中当前引用的 MBean 的数量
- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果与给定的 id 无关RoleNotFoundException
- 如果没有给定名称的角色
-
setRole
void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationNotFoundException , RoleNotFoundException , InvalidRoleValueException , RelationTypeNotFoundException 在给定关系中设置给定角色。将根据关系的关系类型中提供的相应角色定义来检查角色
关系服务将通过处理引用的 MBean 注销来跟踪更改以保持关系的一致性。
- 参数:
relationId
- 关系 IDrole
- 要设置的角色(名称和新值)- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果与给定的 id 无关RoleNotFoundException
- 如果:- 内部关系
和
- 角色不存在或不可写
InvalidRoleValueException
- 如果为角色提供的内部关系和值无效:- 给定值中引用的 MBean 数小于预期的最小程度
或者
- 提供的值中引用的 MBean 数量超过预期的最大程度
或者
- 值中引用的一个 MBean 不是该角色预期的 MBean 类的对象
或者
- 为该角色提供的 MBean 不存在
RelationTypeNotFoundException
- 如果未知关系类型- 参见:
-
setRoles
RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException , IllegalArgumentException , RelationNotFoundException 在给定关系中设置给定角色。将根据关系的关系类型中提供的相应角色定义来检查角色
关系服务通过处理引用的 MBean 注销来跟踪更改以保持关系的一致性。
- 参数:
relationId
- 关系 IDroleList
- 要设置的角色列表- 返回:
- 一个 RoleResult 对象,包括一个 RoleList(对于成功设置的角色)和一个 RoleUnresolvedList(对于未设置的角色)。
- 抛出:
RelationServiceNotRegisteredException
- 如果关系服务未在 MBean 服务中注册IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果与给定的 id 无关- 参见:
-
getReferencedMBeans
Map <ObjectName ,List <String >> getReferencedMBeans(String relationId) throws IllegalArgumentException , RelationNotFoundException 检索在关系的各种角色中引用的 MBean。- 参数:
relationId
- 关系 ID- 返回:
-
一个 HashMap 映射:
ObjectName -> ArrayList of String(角色名称)
- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定关系 id 没有关系
-
getRelationTypeName
String getRelationTypeName(String relationId) throws IllegalArgumentException , RelationNotFoundException 返回给定关系的关联关系类型的名称。- 参数:
relationId
- 关系 ID- 返回:
- 关联关系类型的名称。
- 抛出:
IllegalArgumentException
- 如果参数为空RelationNotFoundException
- 如果给定关系 id 没有关系
-