public interface RelationServiceMBean
Modifier and Type | Method and Description |
---|---|
void |
addRelation(ObjectName relationObjectName)
添加用户创建的MBean(和注册由他在MBean服务器)在关系服务的关系。
|
void |
addRelationType(RelationType relationTypeObj)
添加给定对象作为关系类型。
|
Integer |
checkRoleReading(String roleName, String relationTypeName)
检查给定的角色是否可以在给定类型的关系中读取。
|
Integer |
checkRoleWriting(Role role, String relationTypeName, Boolean initFlag)
检查给定的角色是否可以设置在给定类型的关系中。
|
void |
createRelation(String relationId, String relationTypeName, RoleList roleList)
创建一个简单的关系(由relationsupport对象表示)给定关系类型,并将其添加在关系服务。
|
void |
createRelationType(String relationTypeName, RoleInfo[] roleInfoArray)
创建一个关系型(relationtypesupport对象)与给定的角色信息(由roleinfo对象提供),并将其添加在关系服务。
|
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)
返回给定类型关系的关系标识。
|
List<String> |
getAllRelationIds()
返回关系服务处理的所有关系的所有关系标识。
|
List<String> |
getAllRelationTypeNames()
检索所有已知关系类型的名称。
|
RoleResult |
getAllRoles(String relationId)
返回当前在关系中的所有角色。
|
boolean |
getPurgeFlag()
返回标志如果通知时MBean的关系中的引用关系注销,如果立即“清除”(寻找关系不再有效)必须执行,或者将要执行时,purgerelations方法是显式调用。
|
Map<ObjectName,List<String>> |
getReferencedMBeans(String relationId)
检索关系的各种角色引用MBeans。
|
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)
检查是否有关系服务中确定的关系与给定的关系。
|
void |
isActive()
检查关系服务是否是活动的。
|
String |
isRelation(ObjectName objectName)
返回与给定的对象如果MBean已添加在关系服务关系ID。
|
ObjectName |
isRelationMBean(String relationId)
如果关系是通过MBean代表(由用户创建并添加在关系服务关系),返回的MBean对象。
|
void |
purgeRelations()
清洗的关系。
|
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 |
setRole(String relationId, Role role)
设置给定关系中的给定角色。
|
RoleResult |
setRoles(String relationId, RoleList roleList)
设置给定关系中的给定角色。
|
void |
updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue)
处理给定关系中给定角色的关系服务角色映射的更新。
|
void isActive() throws RelationServiceNotRegisteredException
RelationServiceNotRegisteredException
-如果不是注册
boolean getPurgeFlag()
真是立即清除。
setPurgeFlag(boolean)
void setPurgeFlag(boolean purgeFlag)
真是立即清除。
purgeFlag
旗
getPurgeFlag()
void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
relationTypeName
-关系型的名字
roleInfoArray
-角色信息的数组
IllegalArgumentException
如果空参数
InvalidRelationTypeException
如果:
-已经有一个同名的关系类型
该名称已被用于两个不同的角色的信息
-没有提供任何角色信息
提供一个空的角色信息
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
relationTypeObj
关系型对象(实施relationtype接口)
IllegalArgumentException
如果空参数或者
relationTypeObj.getRelationTypeName()
返回null。
InvalidRelationTypeException
-如果已经存在一个同名的关系式
List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
relationTypeName
-关系型的名字
IllegalArgumentException
如果空参数
RelationTypeNotFoundException
-如果没有叫这个名字的关系式。
RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
relationTypeName
-关系型的名字
roleInfoName
名字的角色
IllegalArgumentException
如果空参数
RelationTypeNotFoundException
如果关系类型不在关系服务
RoleInfoNotFoundException
-如果角色不是关系型的一部分。
void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException
该类型的关系对象将从关系服务中删除。
relationTypeName
-关系型被删除的名字
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RelationTypeNotFoundException
-如果没有叫这个名字的关系式
void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
根据参数中提供的角色列表初始化角色。那些没有初始化,这样设置的objectnames空数组。
一个relationnotification,relation_basic_creation型,发送。
relationId
关联的标识符,确定独特的内部关系服务的关系
relationTypeName
-关系的类型名称(必须在关系服务创建)
roleList
角色列表初始化的关系角色(可以为空)。
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RoleNotFoundException
-如果一个值是提供一个角色不存在关系式
InvalidRelationIdException
如果关系ID已使用
RelationTypeNotFoundException
如果关系型的关系服务不知道
InvalidRoleValueException
如果:
-相同的角色名称用于两个不同的角色
-引用MBeans给定值的数量少于预期的最低程度
-提供价值参考MBeans最大程度超过预期的数量
一个引用MBean的价值不在于MBean类预期,作用对象
对于这个角色不存在提供MBean
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
作为一种关系,MBean必须符合以下:
-实现关系接口
有relationservice对象当前关系服务的对象
-有一个在当前关系服务中唯一和未使用的关系标识
-在关系服务中创建的关系类型
-有符合关系类型中提供的角色信息的角色。
relationObjectName
- ObjectName关系MBean将增加。
IllegalArgumentException
如果空参数
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
NoSuchMethodException
如果MBean没有实现关系的界面
InvalidRelationIdException
如果:
标识在MBean没有关系
-关系标识符已在关系服务中使用
InstanceNotFoundException
如果给定对象尚未注册MBean
InvalidRelationServiceException
如果:
在MBean没有关系的服务名称
在MBean的关系服务名称不一的电流关系服务
RelationTypeNotFoundException
如果:
在MBean没有关系类型名称
在MBean的关系类型名称不对应一个服务创建关系型的关系
InvalidRoleValueException
如果:
-引用MBeans角色中的数量低于预期的最低程度
-引用MBeans角色中最大程度的数量超过预期
一个引用MBean的价值不在于MBean类预期,作用对象
对一个角色提供了一个MBean不存在
RoleNotFoundException
-如果一个值是提供一个角色不存在关系式
ObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
关系ID识别的关系
IllegalArgumentException
如果空参数
RelationNotFoundException
-没有ID关联
String isRelation(ObjectName objectName) throws IllegalArgumentException
objectName
-所谓的关系ObjectName
IllegalArgumentException
如果空参数
Boolean hasRelation(String relationId) throws IllegalArgumentException
relationId
关系ID识别的关系
IllegalArgumentException
如果空参数
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
roleName
名角色进行检查
relationTypeName
-关系型的名字
- 0如果角色可以阅读
- rolestatus.no_role_with_name相应的整数
- rolestatus.role_not_readable相应的整数
IllegalArgumentException
如果空参数
RelationTypeNotFoundException
如果关系类型不在关系服务
Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException
role
角色进行检查
relationTypeName
-关系型的名字
initFlag
旗指定的检测是一个角色的初始化完成,不得进行写访问。
- 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
如果未知的关系式
void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException
- relationnotification.relation_basic_creation如果关系是对象内部的关系服务
- relationnotification.relation_mbean_creation如果关系是MBean作为一个关系。
源对象是关系服务本身。
这是关系服务createrelation()和addrelation()方法称为。
relationId
关系标识更新的关系
IllegalArgumentException
如果空参数
RelationNotFoundException
给定ID有关系
void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationNotFoundException
- relationnotification.relation_basic_update如果关系是对象内部的关系服务
- relationnotification.relation_mbean_update如果关系是MBean作为一个关系。
源对象是关系服务本身。
它关系setrole()(对于给定的角色叫MBean)和setroles()(每个角色)方法(在relationsupport类提供实现)。
也正是在关系服务setrole()叫(对于给定的角色)和setroles()(每个角色)的方法。
relationId
关系标识更新的关系
newRole
-新的角色(名字和新价值)
oldRoleValue
岁的角色值(对象的对象列表)
IllegalArgumentException
如果空参数
RelationNotFoundException
给定ID有关系
void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException
- relationnotification.relation_basic_removal如果关系是对象内部的关系服务
- relationnotification.relation_mbean_removal如果关系是MBean作为一个关系。
源对象是关系服务本身。
这是关系服务removerelation()方法称为。
relationId
关系标识更新的关系
unregMBeanList
表的objectnames MBean将注册由于关系去除(可以为空)
IllegalArgumentException
如果空参数
RelationNotFoundException
给定ID有关系
void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
它关系setrole()(对于给定的角色叫MBean)和setroles()(每个角色)方法(在relationsupport类提供实现)。
也正是在关系服务setrole()叫(对于给定的角色)和setroles()(每个角色)的方法。
让关系服务保持一致性(MBean注销的情况下),可以执行查询,方法必须调用当角色更新。
relationId
关系标识更新的关系
newRole
-新的角色(名字和新价值)
oldRoleValue
岁的角色值(对象的对象列表)
IllegalArgumentException
如果空参数
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
RelationNotFoundException
id。
void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
一个relationnotification发送通知,其类型:
- relationnotification.relation_basic_removal如果关系是内部关系服务
- relationnotification.relation_mbean_removal如果关系是注册MBean。
在这种关系中引用MBeans,什么也不会做,
relationId
-被删除ID的关系
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RelationNotFoundException
-如果没有关系对应于给定的关系ID
void purgeRelations() throws RelationServiceNotRegisteredException
根据purgeflag值,这种方法称为自动通知时MBean的关系中引用的注销(如果标志设置为true),或(如果标志设置为false)。
在这种情况下,它是由用户调用它来保持关系的一致性。要记住,如果是未注册的MBean和清除不马上做,如果对象是重复使用和分配给另一个MBean关系中的引用,调用手动purgerelations()方法会引起麻烦,会考虑对象对应于未注册的MBean,没有看到新的一。
行为取决于基数的作用在未注册的MBean引用:
如果除去一个MBean的参考作用使其引用低于最低度数,关系已被删除。
如果剩余的引用数去除MBean参考后仍然是在基数的范围内,保持联系和更新,称其handlembeanunregistration()回调。
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册。
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
这对应于CIM“参考文献”和“referencenames”行动。
mbeanName
- ObjectName of MBean
relationTypeName
-可以为空;如果规定,只有该类型将在搜索考虑的关系。其他所有的关系类型都被考虑。
roleName
-可以为空;如果规定,只有关系的MBean是这个角色将返回引用。其他所有的角色都被考虑。
IllegalArgumentException
如果空参数
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
这相当于CIM会员和associatornames操作。
mbeanName
- ObjectName of MBean
relationTypeName
-可以为空;如果规定,只有该类型将在搜索考虑的关系。其他所有的关系类型都被考虑。
roleName
-可以为空;如果规定,只有关系的MBean是这个角色将被引用。其他所有的角色都被考虑。
IllegalArgumentException
如果空参数
List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
relationTypeName
关系类型名称
IllegalArgumentException
如果空参数
RelationTypeNotFoundException
-如果没有叫这个名字的关系式。
List<ObjectName> getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
relationId
关系ID
roleName
名字的角色
RelationServiceNotRegisteredException
如果关系服务没有注册
IllegalArgumentException
如果空参数
RelationNotFoundException
如果给定ID没有关系
RoleNotFoundException
如果:
-有没有角色与给定的名称
或
-角色是不可读的。
setRole(java.lang.String, javax.management.relation.Role)
RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
relationId
关系ID
roleNameArray
-要获取名称角色阵列
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RelationNotFoundException
如果给定ID没有关系
setRoles(java.lang.String, javax.management.relation.RoleList)
RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
relationId
关系ID
IllegalArgumentException
如果空参数
RelationNotFoundException
给定ID
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
relationId
关系ID
roleName
名字的角色
IllegalArgumentException
如果空参数
RelationNotFoundException
如果给定ID没有关系
RoleNotFoundException
-如果名字没有作用
void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
将根据其在关系类型中所提供的相应角色定义来检查角色
关系服务将跟踪变化的处理引用的MBean撤销登记保持关系的一致性。
relationId
关系ID
role
角色被设置(名称和新价值)
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RelationNotFoundException
如果给定ID没有关系
RoleNotFoundException
如果:
-内部关系
和
这个角色不存在或不可写
InvalidRoleValueException
如果内部关系和价值提供了角色无效:
-引用MBeans给定值的数量少于预期的最低程度
或
-提供价值参考MBeans最大程度超过预期的数量
或
一个引用MBean的价值不在于MBean类预期,作用对象
或
对于这个角色不存在提供MBean
RelationTypeNotFoundException
如果未知的关系式
getRole(java.lang.String, java.lang.String)
RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
将根据其在关系类型中所提供的相应角色定义来检查角色
关系服务跟踪处理引用的MBean撤销登记保持一致的变化关系。
relationId
关系ID
roleList
-角色设定
RelationServiceNotRegisteredException
如果关系服务不在MBean服务器注册
IllegalArgumentException
如果空参数
RelationNotFoundException
如果给定ID没有关系
getRoles(java.lang.String, java.lang.String[])
Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
关系ID
ArrayList对象->字符串(角色名称)
IllegalArgumentException
如果空参数
RelationNotFoundException
给定关系ID
String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
关系ID
IllegalArgumentException
如果空参数
RelationNotFoundException
给定关系ID
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.