Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface RelationServiceMBean
Модификатор и Тип | Метод и Описание |
---|---|
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)
Создает тип отношения (объект RelationTypeSupport) с данной ролью infos (обеспеченный объектами RoleInfo), и добавляет это в Службе Отношения.
|
Map<ObjectName,List<String>> |
findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName)
Получает MBeans, связанный с данным в отношении.
|
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, на который ссылаются в различных ролях отношения.
|
Строка |
getRelationTypeName(String relationId)
Имя возвратов связанного отношения вводит для данного отношения.
|
List<ObjectName> |
getRole(String relationId, String roleName)
Получает ролевое значение для данного ролевого имени в данном отношении.
|
Целое число |
getRoleCardinality(String relationId, String roleName)
Получает число MBeans, на который в настоящий момент ссылаются в данной роли.
|
RoleInfo |
getRoleInfo(String relationTypeName, String roleInfoName)
Получает ролевую информацию для данной роли данного типа отношения.
|
List<RoleInfo> |
getRoleInfos(String relationTypeName)
Получает список роли infos (объекты RoleInfo) данного типа отношения.
|
RoleResult |
getRoles(String relationId, String[] roleNameArray)
Получает значения ролей с именами в данном отношении.
|
Булев |
hasRelation(String relationId)
Проверки, если есть отношение, идентифицированное в Службе Отношения с данным идентификатором отношения.
|
void |
isActive()
Проверки, если Служба Отношения является активной.
|
Строка |
isRelation(ObjectName objectName)
Возвращает идентификатор отношения, связанный с данным ObjectName, если MBean был добавлен как отношение в Службе Отношения.
|
ObjectName |
isRelationMBean(String relationId)
Если отношение представляется MBean (создаваемый пользователем, и добавил как отношение в Службе Отношения), возвращает ObjectName 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
- массив роли infosIllegalArgumentException
- если нулевой параметрInvalidRelationTypeException
- Если: - уже есть тип отношения с тем именем
- то же самое имя использовалось для двух различных ролей infos
- никакая ролевая информация не обеспечила
- одна нулевая ролевая информация обеспечила
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
relationTypeObj
- объект типа отношения (реализация интерфейса RelationType)IllegalArgumentException
- если нулевой параметр или если relationTypeObj.getRelationTypeName()
нуль возвратов.InvalidRelationTypeException
- если уже есть тип отношения с тем именемList<String> getAllRelationTypeNames()
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
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- Если нет никакого типа отношения с тем именемvoid createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
Роли инициализируются согласно ролевому списку, обеспеченному в параметре. Те не инициализированные таким образом устанавливаются в пустой ArrayList ObjectNames.
RelationNotification, с типом RELATION_BASIC_CREATION, отправляется.
relationId
- идентификатор отношения, чтобы идентифицировать уникально отношение в Службе ОтношенияrelationTypeName
- имя типа отношения (должен быть создан в Службе Отношения),roleList
- ролевой список, чтобы инициализировать роли отношения (может быть нуль).RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRoleNotFoundException
- если значение обеспечивается для роли, которая не существует в типе отношенияInvalidRelationIdException
- если идентификатор отношения уже используетсяRelationTypeNotFoundException
- если тип отношения, не известный в Службе ОтношенияInvalidRoleValueException
- если: - то же самое ролевое имя используется для двух различных ролей
- число MBeans, на который ссылаются, в данном значении менее чем ожидается минимальный градус
- число MBeans, на который ссылаются, в обеспеченном значении превышает ожидаемый максимальный градус
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
- MBean, предусмотренный та роль, не существует
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
Чтобы быть добавленным как отношение, MBean должен соответствовать следующему:
- реализуйте интерфейс Отношения
- имейте для RelationService ObjectName ObjectName текущей Службы Отношения
- имейте идентификатор отношения, который уникален и неиспользован в текущей Службе Отношения
- имейте для типа отношения тип отношения, создаваемый в Службе Отношения
- имейте роли, соответствующие ролевой информации, обеспеченной в типе отношения.
relationObjectName
- ObjectName отношения MBean, который будет добавлен.IllegalArgumentException
- если нулевой параметрRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanNoSuchMethodException
- Если MBean не реализует интерфейс ОтношенияInvalidRelationIdException
- если: - никакой идентификатор отношения в MBean
- идентификатор отношения уже используется в Службе Отношения
InstanceNotFoundException
- если MBean для данного ObjectName не был зарегистрированInvalidRelationServiceException
- если: - никакая Служба Отношения не называет в MBean
- имя Службы Отношения в MBean не является тем текущей Службы Отношения
RelationTypeNotFoundException
- если: - никакое имя типа отношения в MBean
- имя типа отношения в MBean не соответствует типу отношения, создаваемому в Службе Отношения
InvalidRoleValueException
- если: - число MBeans, на который ссылаются, в роли менее чем ожидается минимальный градус
- число MBeans, на который ссылаются, в роли превышает ожидаемый максимальный градус
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
- MBean, предусмотренный роль, не существует
RoleNotFoundException
- если значение обеспечивается для роли, которая не существует в типе отношенияObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
- идентификатор отношения, идентифицирующий отношениеIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- нет никакого отношения, связанного с тем идентификаторомString isRelation(ObjectName objectName) throws IllegalArgumentException
objectName
- ObjectName воображаемого отношенияIllegalArgumentException
- если нулевой параметрBoolean hasRelation(String relationId) throws IllegalArgumentException
relationId
- идентификатор отношения, идентифицирующий отношениеIllegalArgumentException
- если нулевой параметрList<String> getAllRelationIds()
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
- если нет никакого отношения для данного идентификатора отношенияvoid sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_UPDATE, если отношение является объектом, внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_UPDATE, если отношение является MBean, добавленным как отношение.
Исходный объект является Службой Отношения непосредственно.
Это вызывают в отношении MBean setRole () (для данной роли) и setRoles () (для каждой роли) методы (реализация, обеспеченная в RelationSupport class).
Это также вызывают в Службе Отношения setRole () (для данной роли) и setRoles () (для каждой роли) методы.
relationId
- идентификатор отношения обновленного отношенияnewRole
- новая роль (имя и новое значение)oldRoleValue
- старое ролевое значение (Список объектов ObjectName)IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если нет никакого отношения для данного идентификатора отношенияvoid sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение является объектом, внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение является MBean, добавленным как отношение.
Исходный объект является Службой Отношения непосредственно.
Это вызывают в Службе Отношения removeRelation () метод.
relationId
- идентификатор отношения обновленного отношенияunregMBeanList
- Список ObjectNames MBeans, который, как ожидают, будет незарегистрирован из-за удаления отношения (может быть нуль),IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если нет никакого отношения для данного идентификатора отношенияvoid updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
Это вызывают в отношении MBean setRole () (для данной роли) и setRoles () (для каждой роли) методы (реализация, обеспеченная в RelationSupport class).
Это также вызывают в Службе Отношения setRole () (для данной роли) и setRoles () (для каждой роли) методы.
Чтобы позволить Службе Отношения поддерживать непротиворечивость (в случае нерегистрации MBean) и быть в состоянии выполнить запросы, этот метод нужно вызвать, когда роль обновляется.
relationId
- идентификатор отношения обновленного отношенияnewRole
- новая роль (имя и новое значение)oldRoleValue
- старое ролевое значение (Список объектов ObjectName)IllegalArgumentException
- если нулевой параметрRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanRelationNotFoundException
- если никакое отношение для данного идентификатора.void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Уведомление RelationNotification отправляется, его тип быть:
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение регистрируется как MBean.
Для MBeans, на который ссылаются в таком отношении, ничто не будет сделано,
relationId
- идентификатор отношения отношения, которое будет удаленоRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение, соответствующее данному идентификатор отношенияvoid purgeRelations() throws RelationServiceNotRegisteredException
В зависимости от значения purgeFlag этот метод или вызывают автоматически, когда уведомление получается для нерегистрации MBean, на который ссылаются в отношении (если флаг устанавливается в истину), или не (если флаг устанавливается в ложь).
В этом случае это до пользователя, чтобы вызвать это, чтобы поддержать непротиворечивость отношений. Чтобы быть учтенным что, если MBean незарегистрирован и чистка, не сделанная сразу, если ObjectName снова используется и присваивается другому MBean, на который ссылаются в отношении, вызывая вручную этот purgeRelations (), метод доставит неприятности, как рассмотрит ObjectName как соответствие незарегистрированному MBean, не видя новый.
Поведение зависит от количества элементов роли, где на незарегистрированный MBean ссылаются:
- если удаление одной ссылки MBean в роли делает свое число ссылок меньше чем минимальный градус, отношение должно быть удалено.
- если остающееся число ссылок после удаления ссылки MBean находится все еще в диапазоне количества элементов, сохраните отношение и обновите его вызывающий его handleMBeanUnregistration () обратный вызов.
RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBean.Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует "Ссылкам" CIM и операциям "ReferenceNames".
mbeanName
- ObjectName MBeanrelationTypeName
- может быть нуль; если определено, только отношения того типа рассмотрят в поиске. Еще все типы отношения рассматривают.roleName
- может быть нуль; если определено, только отношения, где на MBean ссылаются в той роли, будут возвращены. Еще все роли рассматривают.IllegalArgumentException
- если нулевой параметрMap<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует CIM Associators и операциям AssociatorNames.
mbeanName
- ObjectName MBeanrelationTypeName
- может быть нуль; если определено, только отношения того типа рассмотрят в поиске. Еще все типы отношения рассматривают.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
- идентификатор отношенияroleName
- имя ролиRelationServiceNotRegisteredException
- если Служба Отношения не регистрируетсяIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если: - нет никакой роли с именем
или
- роль не читаема.
setRole(java.lang.String, javax.management.relation.Role)
RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
relationId
- идентификатор отношенияroleNameArray
- массив имен ролей, которые будут полученыRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомsetRoles(java.lang.String, javax.management.relation.RoleList)
RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
relationId
- идентификатор отношенияIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатораRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanInteger getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
relationId
- идентификатор отношенияroleName
- имя ролиIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если нет никакой роли с именемvoid setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
Проверит роль согласно ее соответствующему ролевому определению, обеспеченному в типе отношения отношения
Служба Отношения отследит изменение, чтобы сохранить непротиворечивость отношений, обрабатывая, сослался на нерегистрацию MBean.
relationId
- идентификатор отношенияrole
- роль, которая будет определена (имя и новое значение)RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если: - внутреннее отношение
и
- роль не существует или не перезаписываема
InvalidRoleValueException
- если внутреннее отношение и значение, предусмотренное роль, не допустимы: - число MBeans, на который ссылаются, в данном значении менее чем ожидается минимальный градус
или
- число MBeans, на который ссылаются, в обеспеченном значении превышает ожидаемый максимальный градус
или
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
или
- MBean, предусмотренный та роль, не существует
RelationTypeNotFoundException
- если неизвестный тип отношенияgetRole(java.lang.String, java.lang.String)
RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Проверит роль согласно ее соответствующему ролевому определению, обеспеченному в типе отношения отношения
Служба Отношения отслеживает изменения, чтобы сохранить непротиворечивость отношений, обрабатывая, сослался на нерегистрацию MBean.
relationId
- идентификатор отношенияroleList
- список ролей, которые будут установленыRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомgetRoles(java.lang.String, java.lang.String[])
Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
- идентификатор отношенияObjectName-> ArrayList Строки (ролевые имена)
IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатора отношенияString getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
relationId
- идентификатор отношенияIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатора отношения
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92