|
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