|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.management.NotificationBroadcasterSupport javax.management.relation.RelationService
public class RelationService
Relation Service 负责创建和删除关系类型和关系,负责处理一致性并负责提供查询机制。
它通过扩展 NotificationBroadcasterSupport 实现 NotificationBroadcaster,以便在从中移除关系时发送通知。
它实现 NotificationListener 接口,以便能够接收有关注销关系角色中引用的 MBean 的通知和注销关系 MBean 的通知。
它实现 MBeanRegistration 接口,以便能够检索其 ObjectName 和 MBean Server。
构造方法摘要 | |
---|---|
RelationService(boolean theImmediatePurgeFlg)
构造方法。 |
方法摘要 | |
---|---|
void |
addRelation(ObjectName theRelObjectName)
作为 Relation Service 中的关系添加由用户创建(且由其在 MBean Server 中注册)的 MBean。 |
void |
addRelationType(RelationType theRelTypeObj)
作为关系类型添加给定的对象。 |
Integer |
checkRoleReading(String theRoleName,
String theRelTypeName)
检查给定 Role 能否以给定类型的关系进行读取。 |
Integer |
checkRoleWriting(Role theRole,
String theRelTypeName,
Boolean theInitFlg)
检查给定 Role 能否以给定类型的关系进行设置。 |
void |
createRelation(String theRelId,
String theRelTypeName,
RoleList theRoleList)
创建给定关系类型的简单关系(由 RelationSupport 对象表示),并将其添加到 Relation Service 中。 |
void |
createRelationType(String theRelTypeName,
RoleInfo[] theRoleInfoArray)
用给定的角色信息(由 RoleInfo 对象提供)创建一个关系类型(RelationTypeSupport 对象),并将其添加到 Relation Service 中。 |
Map |
findAssociatedMBeans(ObjectName theMBeanName,
String theRelTypeName,
String theRoleName)
检索与关系中给定关系相关的 MBean。 |
Map |
findReferencingRelations(ObjectName theMBeanName,
String theRelTypeName,
String theRoleName)
检索在其中引用给定 MBean 的关系。 |
List |
findRelationsOfType(String theRelTypeName)
返回给定类型的关系的关系 id。 |
List |
getAllRelationIds()
返回由 Relation Service 处理的所有关系的所有关系 id。 |
List |
getAllRelationTypeNames()
检索所有已知关系类型的名称。 |
RoleResult |
getAllRoles(String theRelId)
返回关系中存在的所有角色。 |
MBeanNotificationInfo[] |
getNotificationInfo()
返回一个 NotificationInfo 对象,它包含通知的 Java 类的名称和发送的通知类型。 |
boolean |
getPurgeFlag()
返回一个标志,以指示何时接收注销关系中引用的 MBean 的通知,指示是否必须执行关系的直接“肃清”(查找不再有效的关系),或者是否只在将显式调用 purgeRelations 方法时执行该操作。 |
Map |
getReferencedMBeans(String theRelId)
检索关系的各种角色中引用的 MBean。 |
String |
getRelationTypeName(String theRelId)
返回给定关系的相关关系类型的名称。 |
List |
getRole(String theRelId,
String theRoleName)
检索给定关系中给定角色名称的角色值。 |
Integer |
getRoleCardinality(String theRelId,
String theRoleName)
检索给定角色中当前引用的 MBean 数。 |
RoleInfo |
getRoleInfo(String theRelTypeName,
String theRoleInfoName)
检索给定关系类型的给定角色名称的角色信息。 |
List |
getRoleInfos(String theRelTypeName)
检索给定关系类型的角色信息(RoleInfo 对象)的列表。 |
RoleResult |
getRoles(String theRelId,
String[] theRoleNameArray)
检索给定关系中具有给定名称的角色值。 |
void |
handleNotification(Notification theNtf,
Object theHandback)
出现 JMX 通知时调用。 |
Boolean |
hasRelation(String theRelId)
用给定的关系 id 检查是否存在 Relation Service 中标识的关系。 |
void |
isActive()
检查该 Relation Service 是否处于活动状态。 |
String |
isRelation(ObjectName theObjName)
如果 Relation Service 中作为关系添加 MBean,则返回与给定 ObjectName 相关的关系 id。 |
ObjectName |
isRelationMBean(String theRelId)
如果用 MBean 表示关系(由用户创建且作为 Relation Service 中的关系添加),则返回该 MBean 的 ObjectName。 |
void |
postDeregister()
允许 MBean 在已从 MBean 服务器注销之后执行所需要的任何操作。 |
void |
postRegister(Boolean registrationDone)
允许 MBean 在被注册到 MBean 服务器或注销失败后执行任何所需要的操作。 |
void |
preDeregister()
允许该 MBean 在从 MBean 服务器注销之前执行它所需要的任何操作。 |
ObjectName |
preRegister(MBeanServer server,
ObjectName name)
允许 MBean 在被注册到 MBean 服务器之前执行它所需要的任何操作。 |
void |
purgeRelations()
肃清关系。 |
void |
removeRelation(String theRelId)
从 Relation Service 移除给定的关系。 |
void |
removeRelationType(String theRelTypeName)
从 Relation Service 中移除给定的关系类型。 |
void |
sendRelationCreationNotification(String theRelId)
发送关系创建通知 (RelationNotification)。 |
void |
sendRelationRemovalNotification(String theRelId,
List theUnregMBeanList)
发送关系移除通知 (RelationNotification)。 |
void |
sendRoleUpdateNotification(String theRelId,
Role theNewRole,
List theOldRoleValue)
发送给定关系中的角色更新通知 (RelationNotification)。 |
void |
setPurgeFlag(boolean thePurgeFlg)
设置一个标志,以指示注销关系中引用的 MBean 时是否接收到通知,是否必须执行关系的直接“肃清”(查找不再有效的关系),或者是否只在显式调用 purgeRelations 方法时执行该操作。 |
void |
setRole(String theRelId,
Role theRole)
设置给定关系中的给定角色。 |
RoleResult |
setRoles(String theRelId,
RoleList theRoleList)
设置给定关系中的给定角色。 |
void |
updateRoleMap(String theRelId,
Role theNewRole,
List theOldRoleValue)
针对给定关系中给定角色的更新来处理 Relation Service 角色映射的更新。 |
从类 javax.management.NotificationBroadcasterSupport 继承的方法 |
---|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public RelationService(boolean theImmediatePurgeFlg)
theImmediatePurgeFlg
- 指示何时接收到注销关系中引用的 MBean 的通知,指示是否必须执行关系的直接“肃清”(查找不再有效的关系),或者是否只在显式调用 purgeRelations 方法时执行该操作。
true 表示立即肃清。
方法详细信息 |
---|
public void isActive() throws RelationServiceNotRegisteredException
RelationServiceMBean
中的 isActive
RelationServiceNotRegisteredException
- 如果其未注册public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
MBeanRegistration
复制的描述
MBeanRegistration
中的 preRegister
server
- 将要在其中注册该 MBean 的 MBean 服务器。name
- 该 MBean 的对象名。如果 MBeanServer
接口中的某个 createMBean
方法或 registerMBean
方法的 name 参数为 null,则此 name 也为 null。在这种情况下,此方法必须为新 MBean 返回非 null 的 ObjectName。
name
参数不为 null,则它通常但并非一定为返回值。
Exception
- MBean 服务器会捕捉此异常并以 MBeanRegistrationException
的形式重新抛出。public void postRegister(Boolean registrationDone)
MBeanRegistration
复制的描述
MBeanRegistration
中的 postRegister
registrationDone
- 指示该 MBean 是否已在 MBean 服务器中成功注册。false 值意味着注册阶段已失败。public void preDeregister() throws Exception
MBeanRegistration
复制的描述
MBeanRegistration
中的 preDeregister
Exception
- MBean 服务器会捕捉此异常并以 MBeanRegistrationException
的形式重新抛出。public void postDeregister()
MBeanRegistration
复制的描述
MBeanRegistration
中的 postDeregister
public boolean getPurgeFlag()
true 表示立即肃清。
RelationServiceMBean
中的 getPurgeFlag
setPurgeFlag(boolean)
public void setPurgeFlag(boolean thePurgeFlg)
true 表示立即肃清。
RelationServiceMBean
中的 setPurgeFlag
thePurgeFlg
- 标志getPurgeFlag()
public void createRelationType(String theRelTypeName, RoleInfo[] theRoleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
RelationServiceMBean
中的 createRelationType
theRelTypeName
- 关系类型的名称theRoleInfoArray
- 角色信息的数组
IllegalArgumentException
- 如果是 null 参数
InvalidRelationTypeException
- 如果:
- 具有该名称的关系类型已经存在
- 两个不同的角色信息使用了同一个名称
- 未提供角色信息
- 提供了一个 null 角色信息
public void addRelationType(RelationType theRelTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
RelationServiceMBean
中的 addRelationType
theRelTypeObj
- 关系类型对象(实现该 RelationType 接口)
IllegalArgumentException
- 如果是 null 参数
InvalidRelationTypeException
- 如果:
- 两个不同的角色用了同一个名称
- 未提供角色信息
- 提供了一个 null 角色信息
- 具有该名称的关系类型已经存在
public List getAllRelationTypeNames()
RelationServiceMBean
中的 getAllRelationTypeNames
public List getRoleInfos(String theRelTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
RelationServiceMBean
中的 getRoleInfos
theRelTypeName
- 关系类型的名称
IllegalArgumentException
- 如果是 null 参数
RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型。public RoleInfo getRoleInfo(String theRelTypeName, String theRoleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
RelationServiceMBean
中的 getRoleInfo
theRelTypeName
- 关系类型的名称theRoleInfoName
- 角色的名称
IllegalArgumentException
- 如果是 null 参数
RelationTypeNotFoundException
- 如果在 Relation Service 中的关系类型未知
RoleInfoNotFoundException
- 如果该角色不是该关系类型的一部分。public void removeRelationType(String theRelTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException
此类型的关系对象将要从 Relation Service 中移除。
RelationServiceMBean
中的 removeRelationType
theRelTypeName
- 要移除的关系类型名称
RelationServiceNotRegisteredException
- 如果该 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数
RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型public void createRelation(String theRelId, String theRelTypeName, RoleList theRoleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
按照在参数中提供的角色列表初始化角色。将未按此方法初始化的角色设置为 ObjectName 的空 ArrayList。
发送类型为 RELATION_BASIC_CREATION 的 RelationNotification。
RelationServiceMBean
中的 createRelation
theRelId
- 关系标识符,用来惟一地标识 Relation Service 中的关系theRelTypeName
- 关系类型的名称(必须在 Relation Service 中创建)theRoleList
- 要初始化该关系的角色的角色列表(可以为 null)。
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数(角色列表除外,其未进行角色初始化时可以为 null)
RoleNotFoundException
- 如果为关系类型中不存在的角色提供值
InvalidRelationIdException
- 如果关系 id 已经使用
RelationTypeNotFoundException
- 如果在 Relation Service 中关系类型未知
InvalidRoleValueException
- 如果:
- 两个不同的角色使用了同一个角色名称
- 给定值中引用的 MBean 数小于期望的最小程度
- 提供的值中引用的 MBean 数超过期望的最大程度
- 该值中引用的 MBean 的一个对象不是该角色期望的 MBean 类的对象
- 如果不存在为该角色提供的 MBean
public void addRelation(ObjectName theRelObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
将作为关系添加 MBean,它必须遵循以下做法:
- 实现该 Relation 接口
- 具有 RelationService ObjectName,即当前 Relation Service 的 ObjectName
- 具有在当前 Relation Service 中惟一且未使用的关系 id
- 具有关系类型,即在 Relation Service 中创建的关系类型
- 具有遵循在关系类型中提供的角色信息的角色。
RelationServiceMBean
中的 addRelation
theRelObjectName
- 要添加的关系 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
- 如果为关系类型中不存在的角色提供了值public ObjectName isRelationMBean(String theRelId) throws IllegalArgumentException, RelationNotFoundException
RelationServiceMBean
中的 isRelationMBean
theRelId
- 标识关系的关系 id
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在与该 id 相关的关系public String isRelation(ObjectName theObjName) throws IllegalArgumentException
RelationServiceMBean
中的 isRelation
theObjName
- 假定关系的 ObjectName
IllegalArgumentException
- 如果是 null 参数public Boolean hasRelation(String theRelId) throws IllegalArgumentException
RelationServiceMBean
中的 hasRelation
theRelId
- 标识关系的关系 id
IllegalArgumentException
- 如果是 null 参数public List getAllRelationIds()
RelationServiceMBean
中的 getAllRelationIds
public Integer checkRoleReading(String theRoleName, String theRelTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
RelationServiceMBean
中的 checkRoleReading
theRoleName
- 要检查的角色名称theRelTypeName
- 关系类型的名称
- 如果角色可读,则用 0 表示
- 对应于 RoleStatus.NO_ROLE_WITH_NAME 用整数
- 对应于 RoleStatus.ROLE_NOT_READABLE 用整数
IllegalArgumentException
- 如果是 null 参数
RelationTypeNotFoundException
- 如果 Relation Service 中的关系类型未知public Integer checkRoleWriting(Role theRole, String theRelTypeName, Boolean theInitFlg) throws IllegalArgumentException, RelationTypeNotFoundException
RelationServiceMBean
中的 checkRoleWriting
theRole
- 要检查的角色theRelTypeName
- 关系类型的名称theInitFlg
- 指定已完成角色的初始化检查,并且不验证写入访问的标志。
- 如果角色可以设置,则用 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
- 如果是未知关系类型public void sendRelationCreationNotification(String theRelId) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_CREATION,如果该关系是 Relation Service 内部的一个对象
- RelationNotification.RELATION_MBEAN_CREATION,如果该关系是作为关系添加的 MBean。
源对象是 Relation Service 本身。
它在 Relation Service createRelation() 和 addRelation() 方法中调用。
theRelId
- 更新的关系的关系标识符
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在给定关系 id 的关系public void sendRoleUpdateNotification(String theRelId, Role theNewRole, List theOldRoleValue) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_UPDATE,如果该关系是 Relation Service 内部的一个对象
- RelationNotification.RELATION_MBEAN_UPDATE,如果该关系是作为关系添加的 MBean。
源对象是 Relation Service 本身。
它在关系 MBean setRole()(针对给定角色)和 setRoles()(针对每个角色)方法(RelationSupport 类中提供的实现)中调用。
它还在 Relation Service setRole()(针对给定角色)和 setRoles()(针对每个角色)方法中调用。
theRelId
- 已更新关系的关系标识符theNewRole
- 新的角色(名称和新值)theOldRoleValue
- 旧角色值(ObjectName 对象的列表)
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在给定关系 id 的关系public void sendRelationRemovalNotification(String theRelId, List theUnregMBeanList) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_REMOVAL,如果该关系是 Relation Service 内部的一个对象
- RelationNotification.RELATION_MBEAN_REMOVAL,如果该关系是作为关系添加的 MBean。
源对象是 Relation Service 本身。
它在 Relation Service removeRelation() 方法中调用。
theRelId
- 已更新关系的关系标识符theUnregMBeanList
- 期望因为关系移除而注销的 MBean 的 ObjectName 列表(可以为 null)
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在给定关系 id 的关系public void updateRoleMap(String theRelId, Role theNewRole, List theOldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
它在关系 MBean setRole()(针对给定角色)和 setRoles()(针对每个角色)方法(RelationSupport 类中提供的实现)中调用。
它还在 Relation Service setRole()(针对给定角色)和 setRoles()(针对每个角色)方法中调用。
为了允许 Relation Service 维护一致性(MBean 注销时)以及能够执行查询,更新角色时必须调用此方法。
RelationServiceMBean
中的 updateRoleMap
theRelId
- 已更新关系的关系标识符theNewRole
- 新的角色(名称和新的值)theOldRoleValue
- 旧角色值(ObjectName 对象的列表)
IllegalArgumentException
- 如果是 null 参数
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
RelationNotFoundException
- 如果没有给定 id 的关系。public void removeRelation(String theRelId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
发送 RelationNotification 通知,其类型是:
- RelationNotification.RELATION_BASIC_REMOVAL,如果该关系只在 Relation Service 内部
- RelationNotification.RELATION_MBEAN_REMOVAL,如果该关系作为 MBean 注册。
对于在这样的关系中引用的 MBean,将不执行任何操作,
RelationServiceMBean
中的 removeRelation
theRelId
- 要移除的关系的关系 id
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有对应于给定关系 id 的关系public void purgeRelations() throws RelationServiceNotRegisteredException
根据 purgeFlag 值,此方法即可以在接收到关系中引用的 MBean 的注销通知时自动调用(如果将该标志设置为 true),也可以不调用(如果将该标志设置为 false)。
在此情况下,用户负责调用它来维护关系的一致性。一定要记住:如果注销 MBean 但没立即执行肃清,这时如果重新使用 ObjectName 并将其指派给关系中另一个引用的 MBean,那么手动调用此 purgeRelations() 就会出现问题,因为这样会认为此 ObjectName 就是已注销的 MBean,不把它看作新的 MBean。
该行为取决于在其中引用注销的 MBean 的角色数量:
- 如果移除角色中的一个 MBean 引用使其引用数少于最小程度,则必须移除该关系。
- 如果移除 MBean 引用后剩余的引用数仍然在该容量范围内,则保持该关系并在调用其 handleMBeanUnregistration() 回调时更新。
RelationServiceMBean
中的 purgeRelations
RelationServiceNotRegisteredException
- 如果该 Relation Service 未在 MBean Server 中注册。public Map findReferencingRelations(ObjectName theMBeanName, String theRelTypeName, String theRoleName) throws IllegalArgumentException
这对应于 CIM "Reference" 和 "ReferenceName" 操作。
RelationServiceMBean
中的 findReferencingRelations
theMBeanName
- MBean 的 ObjectNametheRelTypeName
- 可以为 null;如果已指定,则将只在搜索时考虑该类型的关系。其他情况下将考虑所有关系类型。theRoleName
- 可以为 null;如果已指定,则只返回将在该角色中引用的 MBean 关系。其他情况要考虑所有角色。
IllegalArgumentException
- 如果是 null 参数public Map findAssociatedMBeans(ObjectName theMBeanName, String theRelTypeName, String theRoleName) throws IllegalArgumentException
这对应于 CIM Associator 和 AssociatorName 操作。
RelationServiceMBean
中的 findAssociatedMBeans
theMBeanName
- MBean 的 ObjectNametheRelTypeName
- 可以为 null;如果已指定,则将只在搜索时考虑该类型的关系。其他情况下将考虑所有关系类型。theRoleName
- 可以为 null;如果已指定,则只返回将在该角色中引用的 MBean 关系。其他情况要考虑所有角色。
IllegalArgumentException
- 如果是 null 参数public List findRelationsOfType(String theRelTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
RelationServiceMBean
中的 findRelationsOfType
theRelTypeName
- 关系类型名称
IllegalArgumentException
- 如果是 null 参数
RelationTypeNotFoundException
- 如果不存在具有该名称的关系类型。public List getRole(String theRelId, String theRoleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
RelationServiceMBean
中的 getRole
theRelId
- 关系 idtheRoleName
- 角色名称
RelationServiceNotRegisteredException
- 如果 Relation Service 未注册
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有带给定 id 的关系
RoleNotFoundException
- 如果:
- 不存在具有给定名称的角色
或者
- 角色不可读。
setRole(java.lang.String, javax.management.relation.Role)
public RoleResult getRoles(String theRelId, String[] theRoleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
RelationServiceMBean
中的 getRoles
theRelId
- 关系 idtheRoleNameArray
- 要检索的角色名称的数组
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有带给定 id 的关系setRoles(java.lang.String, javax.management.relation.RoleList)
public RoleResult getAllRoles(String theRelId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
RelationServiceMBean
中的 getAllRoles
theRelId
- 关系 id
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有指定 id 的关系
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册public Integer getRoleCardinality(String theRelId, String theRoleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
RelationServiceMBean
中的 getRoleCardinality
theRelId
- 关系 idtheRoleName
- 角色名称
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有带指定 id 的关系
RoleNotFoundException
- 如果不存在具有指定名称的角色public void setRole(String theRelId, Role theRole) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException
将按照其在关系的关系类型中提供的相应角色定义检查角色
通过处理引用的 MBean 注销,Relation Service 将跟踪更改来保持关系的一致性。
RelationServiceMBean
中的 setRole
theRelId
- 关系 idtheRole
- 要设置的角色(名称和新值)
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在具有给定 id 的关系
RoleNotFoundException
- 如果角色不存在或不可写
InvalidRoleValueException
- 如果为角色提供的值无效:
- 给定值中引用的 MBean 数小于期望的最小程度
或者
- 提供的值中引用的 MBean 数超过期望的最大程度
或者
- 该值中引用的 MBean 的一个对象不是该角色期望的 MBean 类的对象
或者
- 如果不存在为该角色提供的 MBean
getRole(java.lang.String, java.lang.String)
public RoleResult setRoles(String theRelId, RoleList theRoleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
将按照其在关系的关系类型中提供的相应角色定义来检查角色
通过处理引用的 MBean 注销,Relation Service 跟踪更改来保持关系的一致性。
RelationServiceMBean
中的 setRoles
theRelId
- 关系 idtheRoleList
- 要设置的角色列表
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中注册
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果没有带给定 id 的关系getRoles(java.lang.String, java.lang.String[])
public Map getReferencedMBeans(String theRelId) throws IllegalArgumentException, RelationNotFoundException
RelationServiceMBean
中的 getReferencedMBeans
theRelId
- 关系 id
ObjectName -> ArrayList of String(角色名)
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在给定关系 id 的关系public String getRelationTypeName(String theRelId) throws IllegalArgumentException, RelationNotFoundException
RelationServiceMBean
中的 getRelationTypeName
theRelId
- 关系 id
IllegalArgumentException
- 如果是 null 参数
RelationNotFoundException
- 如果不存在给定关系 id 的关系public void handleNotification(Notification theNtf, Object theHandback)
NotificationListener
中的 handleNotification
theNtf
- 通知。theHandback
- 一个不透明的对象,可帮助侦听器将有关 MBean 发出者的信息(可以为 null)联系在一起。public MBeanNotificationInfo[] getNotificationInfo()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。