-
- 所有已知实现类:
-
RelationService
public interface RelationServiceMBean关系服务负责创建和删除关系类型和关系,处理一致性和提供查询机制。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 voidaddRelation(ObjectName relationObjectName)将由用户创建的一个MBean(并由他注册在MBean服务器中)添加为关系服务中的关系。voidaddRelationType(RelationType relationTypeObj)将给定对象添加为关系类型。IntegercheckRoleReading(String roleName, String relationTypeName)检查给定角色是否可以以给定类型的关系读取。IntegercheckRoleWriting(Role role, String relationTypeName, Boolean initFlag)检查给定的角色是否可以按给定类型的关系进行设置。voidcreateRelation(String relationId, String relationTypeName, RoleList roleList)创建给定关系类型的简单关系(由RelationSupport对象表示),并将其添加到关系服务中。voidcreateRelationType(String relationTypeName, RoleInfo[] roleInfoArray)使用给定的角色信息(由RoleInfo对象提供)创建关系类型(RelationTypeSupport对象),并将其添加到关系服务中。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()返回由关系服务处理的所有关系的所有关系ID。List<String>getAllRelationTypeNames()检索所有已知关系类型的名称。RoleResultgetAllRoles(String relationId)返回关系中存在的所有角色。booleangetPurgeFlag()返回标志,以指示是否在关系中引用的MBean的注销收到通知,如果必须立即执行关系的“清除”(查找关系不再有效),或者如果将仅当显式调用purgeRelations方法时执行。Map<ObjectName,List<String>>getReferencedMBeans(String relationId)检索在关系的各种角色中引用的MBean。StringgetRelationTypeName(String relationId)返回给定关系的关联关系类型的名称。List<ObjectName>getRole(String relationId, String roleName)在给定关系中为给定的角色名称检索角色值。IntegergetRoleCardinality(String relationId, String roleName)检索当前在给定角色中引用的MBeans数。RoleInfogetRoleInfo(String relationTypeName, String roleInfoName)检索给定关系类型的给定角色的角色信息。List<RoleInfo>getRoleInfos(String relationTypeName)检索给定关系类型的角色信息(RoleInfo对象)的列表。RoleResultgetRoles(String relationId, String[] roleNameArray)以给定的关系取得给定名称的角色值。BooleanhasRelation(String relationId)检查在关系服务中是否存在与给定关系ID相关联的关系。voidisActive()检查关系服务是否处于活动状态。StringisRelation(ObjectName objectName)如果MBean作为关系服务中的关系添加,则返回与给定ObjectName关联的关系id。ObjectNameisRelationMBean(String relationId)如果关系由MBean(由用户创建并在关系服务中添加为关系)表示,则返回MBean的ObjectName。voidpurgeRelations()清除关系。voidremoveRelation(String relationId)从关系服务中删除给定的关系。voidremoveRelationType(String relationTypeName)从关系服务中删除给定的关系类型。voidsendRelationCreationNotification(String relationId)发送关系创建的通知(RelationNotification)。voidsendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList)发送通知(RelationNotification)用于删除关系。voidsendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue)发送给定关系中角色更新的通知(RelationNotification)。voidsetPurgeFlag(boolean purgeFlag)设置标志以指示是否在关系中引用的MBean注销的通知被接收,如果必须立即执行关系的“清除”(寻找关系不再有效),或者如果将仅当显式调用purgeRelations方法时执行。voidsetRole(String relationId, Role role)在给定的关系中设定给定的角色。RoleResultsetRoles(String relationId, RoleList roleList)在给定的关系中设定给定的角色。voidupdateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue)处理关系服务角色图更新给定关系中给定角色的更新。
-
-
-
方法详细信息
-
isActive
void isActive() throws RelationServiceNotRegisteredException检查关系服务是否处于活动状态。 当前情况是必须在MBean服务器中注册关系服务- 异常
-
RelationServiceNotRegisteredException- 如果没有注册
-
getPurgeFlag
boolean getPurgeFlag()
返回标志,以指示是否在关系中引用的MBean的注销收到通知,如果必须立即执行关系的“清除”(查找关系不再有效),或者如果将仅当显式调用purgeRelations方法时执行。真的是立即清除。
- 结果
- 如果清除立即,则为真。
- 另请参见:
-
setPurgeFlag(boolean)
-
setPurgeFlag
void setPurgeFlag(boolean purgeFlag)
设置标志以指示是否在关系中引用的MBean注销的通知被接收,如果必须立即执行关系的“清除”(寻找关系不再有效),或者如果将仅当显式调用purgeRelations方法时执行。真的是立即清除。
- 参数
-
purgeFlag- 国旗 - 另请参见:
-
getPurgeFlag()
-
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
List<String> getAllRelationTypeNames()
检索所有已知关系类型的名称。- 结果
- 关系类型名称(Strings)的ArrayList
-
getRoleInfos
List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
检索给定关系类型的角色信息(RoleInfo对象)的列表。- 参数
-
relationTypeName- 关系类型的名称 - 结果
- RoleInfo的ArrayList。
- 异常
-
IllegalArgumentException- 如果为空参数 -
RelationTypeNotFoundException- 如果与该名称没有关系类型。
-
getRoleInfo
RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
检索给定关系类型的给定角色的角色信息。- 参数
-
relationTypeName- 关系类型的名称 -
roleInfoName- 角色名称 - 结果
- RoleInfo对象。
- 异常
-
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对象表示),并将其添加到关系服务中。角色根据参数中提供的角色列表进行初始化。 没有以这种方式初始化的那些设置为ObjectName的空ArrayList。
发送一个类型为RELATION_BASIC_CREATION的关系通知。
- 参数
-
relationId- 关系标识符,用于唯一标识关系服务内的关系 -
relationTypeName- 关系类型的名称(必须在关系服务中创建) -
roleList- 用于初始化关系角色的角色列表(可以为null)。 - 异常
-
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必须符合以下条件:
- 实现Relation界面
- 为RelationService ObjectName提供当前关系服务的ObjectName
- 在当前关系服务中具有唯一且不被使用的关系ID
- 在关系服务中创建关系类型
- 具有符合关系类型中提供的角色信息的角色。
- 参数
-
relationObjectName- 要添加的关系MBean的ObjectName。 - 异常
-
IllegalArgumentException- 如果为空参数 -
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册 -
NoSuchMethodException- 如果MBean不实现Relation界面 -
InvalidRelationIdException- if:- 在MBean中没有关系标识符
- 关系标识符已经在关系服务中使用
-
InstanceNotFoundException- 如果给定的ObjectName的MBean尚未注册 -
InvalidRelationServiceException- if:- 在MBean中没有关系服务名称
- MBean中的关系服务名称不是当前的关系服务
-
RelationTypeNotFoundException- if:- 在MBean中没有关系类型名称
- MBean中的关系类型名称与关系服务中创建的关系类型不对应
-
InvalidRoleValueException- if:- 一个角色中引用的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
String isRelation(ObjectName objectName) throws IllegalArgumentException
如果MBean作为关系服务中的关系添加,则返回与给定ObjectName关联的关系id。- 参数
-
objectName- 假定关系的ObjectName - 结果
- 关系id(String)或null(如果ObjectName不是由关系服务处理的关系)
- 异常
-
IllegalArgumentException- 如果为空参数
-
hasRelation
Boolean hasRelation(String relationId) throws IllegalArgumentException
检查在关系服务中是否存在与给定关系ID相关联的关系。- 参数
-
relationId- 识别关系的关系id - 结果
- boolean:如果有关系,则为true,否则为false
- 异常
-
IllegalArgumentException- 如果为空参数
-
checkRoleReading
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
检查给定角色是否可以以给定类型的关系读取。- 参数
-
roleName- 要检查的角色的名称 -
relationTypeName- 关系类型的名称 - 结果
-
一个整数对应于在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- 用于指定对角色初始化进行检查的标志,不得验证写入权限。 - 结果
-
一个整数对应于在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。
源对象是Relation Service本身。
它在Relation Service中创建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。
源对象是Relation Service本身。
它被称为关于MBean setRole()(用于给定角色)和setRoles()(对于每个角色)方法(RelationSupport类中提供的实现)。
它也在Relation Service中调用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。
源对象是Relation Service本身。
它在Relation Service中调用removeRelation()方法。
- 参数
-
relationId- 更新关系的关系标识符 -
unregMBeanList- 由于关系删除而预期未注册的MBean的unregMBeanList列表(可以为null) - 异常
-
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果给定的关系id没有关系
-
updateRoleMap
void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
处理关系服务角色图更新给定关系中给定角色的更新。它被称为关于MBean setRole()(用于给定角色)和setRoles()(对于每个角色)方法(RelationSupport类中提供的实现)。
它也在Relation Service中调用setRole()(用于给定的角色)和setRoles()(对于每个角色)的方法。
为了使关系服务保持一致性(在MBean注销的情况下)并且能够执行查询,当更新角色时,必须调用此方法。
- 参数
-
relationId- 更新关系的关系标识符 -
newRole- 新角色(名称和新值) -
oldRoleValue- 旧角色值(ObjectName对象列表) - 异常
-
IllegalArgumentException- 如果为空参数 -
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册 -
RelationNotFoundException- 如果没有给定id的关系。
-
removeRelation
void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
从关系服务中删除给定的关系。发送关系通知通知,其类型为:
- RelationNotification.RELATION_BASIC_REMOVAL,如果关系仅在关系服务内部
- RelationNotification.RELATION_MBEAN_REMOVAL,如果关系被注册为MBean。
对于在这种关系中引用的MBean,将不会做任何事情,
- 参数
-
relationId- 要删除的关系的关系id - 异常
-
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册 -
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果没有对应给定关系id的关系
-
purgeRelations
void purgeRelations() throws RelationServiceNotRegisteredException清除关系。根据purgeFlag值,当接收到关联中引用的MBean的注销的通知(如果该标志设置为true),或者(如果该标志设置为false),则该方法被自动调用。
在这种情况下,用户可以调用它来保持关系的一致性。 要记住,如果MBean未注册,并且清除不立即完成,则如果ObjectName被重用并分配给关系中引用的另一个MBean,则手动调用此purgeRelations()方法将导致麻烦,因为将ObjectName作为对应于未注册的MBean,没有看到新的MBean。
行为取决于引用未注册的MBean的角色的基数:
- 如果删除角色中的一个MBean引用使其引用次数小于最小度,则必须删除该关系。
- 如果删除MBean引用后剩余的引用数仍然在基数范围内,请保持关系并更新它调用其handleMBeanUnregistration()回调。
- 异常
-
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册。
-
findReferencingRelations
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
检索给定MBean引用的关系。这对应于CIM“引用”和“引用名称”操作。
- 参数
-
mbeanName- MBean的ObjectName -
relationTypeName- 可以为null; 如果指定的话,只有这种类型的关系才会在搜索中被考虑。 否则会考虑所有关系类型。 -
roleName- 可以为null; 如果指定,则只返回该角色中引用MBean的关系。 否则所有角色都被考虑。 - 结果
- 一个HashMap,其中的关键字是引用MBean的关系的关系ids,每个关键字的值都是一个角色名称的ArrayList(可以在同一关系中的几个角色中引用MBean)。
- 异常
-
IllegalArgumentException- 如果为空参数
-
findAssociatedMBeans
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
检索与某个关系中的给定关联的MBean。这对应于CIM Associator和AssociatorNames操作。
- 参数
-
mbeanName- MBean的ObjectName -
relationTypeName- 可以为null; 如果指定的话,只有这种类型的关系才会在搜索中被考虑。 否则会考虑所有关系类型。 -
roleName- 可以为null; 如果指定,则仅考虑在该角色中引用MBean的关系。 否则所有角色都被考虑。 - 结果
- 一个HashMap,其中的关键字是与给定MBean相关联的MBean的ObjectNames,并且每个关键字的值是关键字MBean与给定关系的关系的关系id的ArrayList(可以相关联的值)在几个不同的关系)。
- 异常
-
IllegalArgumentException- 如果为空参数
-
findRelationsOfType
List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
返回给定类型的关系的关系id。- 参数
-
relationTypeName- 关系类型名称 - 结果
- 一个关系ids的ArrayList。
- 异常
-
IllegalArgumentException- 如果为空参数 -
RelationTypeNotFoundException- 如果与该名称没有关系类型。
-
getRole
List<ObjectName> getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
在给定关系中为给定的角色名称检索角色值。- 参数
-
relationId- 关系id -
roleName- 角色名称 - 结果
- ObjectName对象的ArrayList是角色值
- 异常
-
RelationServiceNotRegisteredException- 如果关系服务未注册 -
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果与给定的id没有关系 -
RoleNotFoundException- if:- 给定名字没有任何作用
要么
- 角色不可读。
- 另请参见:
-
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- 如果关系服务未在MBean服务器中注册 -
IllegalArgumentException- 如果为空参数 -
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- 如果为空参数 -
RelationNotFoundException- 如果没有给定id的关系 -
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册
-
getRoleCardinality
Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
检索当前在给定角色中引用的MBeans数。- 参数
-
relationId- 关系id -
roleName- 角色名称 - 结果
- 该角色中当前引用的MBean的数量
- 异常
-
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果没有与给定的id的关系 -
RoleNotFoundException- 如果没有给定名称的角色
-
setRole
void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
在给定的关系中设定给定的角色。将根据其在关系类型中提供的相应角色定义来检查角色
关系服务将跟踪变更,以通过处理引用的MBean注销来保持关系的一致性。
- 参数
-
relationId- 关系id -
role- 要设置的角色(名称和新值) - 异常
-
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册 -
IllegalArgumentException- 如果为空参数 -
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注销来跟踪更改以保持关系的一致性。
- 参数
-
relationId- 关系id -
roleList- 要设置的角色列表 - 结果
- 一个RoleResult对象,包括一个RoleList(用于角色成功设置)和一个RoleUnresolvedList(对于未设置的角色)。
- 异常
-
RelationServiceNotRegisteredException- 如果关系服务未在MBean服务器中注册 -
IllegalArgumentException- 如果为空参数 -
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的String(角色名称)
- 异常
-
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果给定的关系id没有关系
-
getRelationTypeName
String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
返回给定关系的关联关系类型的名称。- 参数
-
relationId- 关系id - 结果
- 关联关系类型的名称。
- 异常
-
IllegalArgumentException- 如果为空参数 -
RelationNotFoundException- 如果给定的关系id没有关系
-
-