Интерфейс RelationServiceMBean
- Все известные реализующие классы:
RelationService
public interface RelationServiceMBean
Служба отношений отвечает за создание и удаление типов отношений и самих отношений, за поддержание согласованности и предоставление механизмов запросов.
- С момента:
- 1.5
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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) | Возвращает MBean, на которые ссылаются различные роли отношения. |
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) | Возвращает идентификатор отношения, связанный с данным 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) | Обрабатывает обновление карты ролей службы отношений для обновления заданной роли в заданном отношении. |
Методы
isActive
void isActive()
throws RelationServiceNotRegisteredException Проверяет, активна ли служба отношений. Текущее условие заключается в том, что служба отношений должна быть зарегистрирована в сервере MBean.
- Возможные исключения:
-
RelationServiceNotRegisteredException- если она не зарегистрирована
getPurgeFlag
boolean getPurgeFlag()
Возвращает флаг, указывающий, нужно ли при получении уведомления об отмене регистрации MBean, на который ссылается отношение, выполнять немедленную «очистку» отношений (поиск недействительных отношений) или это будет выполнено только при явном вызове метода purgeRelations.
true — немедленная очистка.
- Возвращает:
- true, если очистка выполняется немедленно.
- См. также:
setPurgeFlag(boolean)
setPurgeFlag
void setPurgeFlag(boolean purgeFlag)
Устанавливает флаг, указывающий, нужно ли при получении уведомления об отмене регистрации MBean, на который ссылается отношение, выполнять немедленную «очистку» отношений (поиск недействительных отношений) или это будет выполнено только при явном вызове метода purgeRelations.
true — немедленная очистка.
- Параметры:
-
purgeFlag- флаг - См. также:
getPurgeFlag()
createRelationType
void createRelationType(String relationTypeName,
RoleInfo[] roleInfoArray)
throws IllegalArgumentException,
InvalidRelationTypeException Создаёт тип отношения (объект RelationTypeSupport) с заданными информацией о ролях (предоставленными объектами RoleInfo) и добавляет его в службу отношений.
- Параметры:
-
relationTypeName- имя типа отношения -
roleInfoArray- массив информации о ролях - Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
InvalidRelationTypeException- если:- тип отношения с таким именем уже существует
- одно и то же имя использовано для двух разных информаций о ролях
- информация о ролях не предоставлена
- одна из информаций о ролях равна null
addRelationType
void addRelationType(RelationType relationTypeObj)
throws IllegalArgumentException,
InvalidRelationTypeException Добавляет заданный объект в качестве типа отношения. Ожидается, что объект реализует интерфейс RelationType.
- Параметры:
-
relationTypeObj- объект типа отношения (реализующий интерфейс RelationType) - Возможные исключения:
-
IllegalArgumentException- если параметр равен null или еслиrelationTypeObj.getRelationTypeName()возвращает null. -
InvalidRelationTypeException- если тип отношения с таким именем уже существует
getAllRelationTypeNames
List<String> getAllRelationTypeNames()
Возвращает имена всех известных типов отношений.
- Возвращает:
- Список имен типов отношений (строки)
getRoleInfos
List<RoleInfo> getRoleInfos(String relationTypeName)
throws IllegalArgumentException,
RelationTypeNotFoundException Возвращает список информации о ролях (объекты RoleInfo) для заданного типа отношения.
- Параметры:
-
relationTypeName- имя типа отношения - Возвращает:
- Список объектов RoleInfo.
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
RelationTypeNotFoundException- если нет типа отношения с таким именем.
getRoleInfo
RoleInfo getRoleInfo(String relationTypeName,
String roleInfoName)
throws IllegalArgumentException,
RelationTypeNotFoundException,
RoleInfoNotFoundException Возвращает информацию о роли для заданной роли заданного типа отношения.
- Параметры:
-
relationTypeName- имя типа отношения -
roleInfoName- имя роли - Возвращает:
- Объект RoleInfo.
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
RelationTypeNotFoundException- если тип отношения неизвестен службе отношений -
RoleInfoNotFoundException- если роль не является частью типа отношения.
removeRelationType
void removeRelationType(String relationTypeName)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationTypeNotFoundException Удаляет заданный тип отношения из службы отношений.
Объекты отношений этого типа будут удалены из службы отношений.
- Параметры:
-
relationTypeName- имя типа отношения, подлежащего удалению - Возможные исключения:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр равен null -
RelationTypeNotFoundException- если нет типа отношения с таким именем
createRelation
void createRelation(String relationId,
String relationTypeName,
RoleList roleList)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RoleNotFoundException,
InvalidRelationIdException,
RelationTypeNotFoundException,
InvalidRoleValueException Создаёт простое отношение (представленное объектом RelationSupport) заданного типа отношения и добавляет его в службу отношений.
Роли инициализируются в соответствии со списком ролей, предоставленным в параметре. Те, которые не инициализированы таким образом, устанавливаются в пустой список ObjectNames.
Отправляется RelationNotification с типом RELATION_BASIC_CREATION.
- Параметры:
-
relationId- идентификатор отношения для уникальной идентификации отношения внутри службы отношений -
relationTypeName- имя типа отношения (должно быть создано в службе отношений) -
roleList- список ролей для инициализации ролей отношения (может быть null). - Возможные исключения:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр равен null -
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения -
InvalidRelationIdException- если идентификатор отношения уже используется -
RelationTypeNotFoundException- если тип отношения неизвестен службе отношений -
InvalidRoleValueException- если:- одно и то же имя роли используется для двух разных ролей
- количество ссылающихся MBeans в заданном значении меньше ожидаемой минимальной степени
- количество ссылающихся MBeans в предоставленном значении превышает ожидаемую максимальную степень
- один ссылающийся MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
addRelation
void addRelation(ObjectName relationObjectName)
throws IllegalArgumentException,
RelationServiceNotRegisteredException,
NoSuchMethodException,
InvalidRelationIdException,
InstanceNotFoundException,
InvalidRelationServiceException,
RelationTypeNotFoundException,
RoleNotFoundException,
InvalidRoleValueException Добавляет созданный пользователем MBean (и зарегистрированный им в сервере MBean) в качестве отношения в службу отношений.
Для добавления в качестве отношения MBean должен соответствовать следующим условиям:
- реализовывать интерфейс Relation
- иметь для ObjectName RelationService ObjectName текущей службы отношений
- иметь уникальный и неиспользуемый идентификатор отношения в текущей службе отношений
- иметь для типа отношения тип отношения, созданный в службе отношений
- иметь роли, соответствующие информации о ролях, предоставленной в типе отношения.
- Параметры:
-
relationObjectName- ObjectName MBean отношения, подлежащего добавлению. - Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
NoSuchMethodException- если MBean не реализует интерфейс Relation -
InvalidRelationIdException- если:- нет идентификатора отношения в MBean
- идентификатор отношения уже используется в службе отношений
-
InstanceNotFoundException- если MBean для данного ObjectName не зарегистрирован -
InvalidRelationServiceException- если:- нет имени службы отношений в MBean
- имя службы отношений в MBean не совпадает с именем текущей службы отношений
-
RelationTypeNotFoundException- если:- нет имени типа отношения в MBean
- имя типа отношения в MBean не соответствует типу отношения, созданному в службе отношений
-
InvalidRoleValueException- если:- количество ссылающихся MBeans в роли меньше ожидаемой минимальной степени
- количество ссылающихся MBeans в роли превышает ожидаемую максимальную степень
- один ссылающийся MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
-
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения
isRelationMBean
ObjectName isRelationMBean(String relationId)
throws IllegalArgumentException,
RelationNotFoundException Если отношение представлено MBean (созданным пользователем и добавленным в качестве отношения в службе отношений), возвращает ObjectName MBean.
- Параметры:
-
relationId- идентификатор отношения, идентифицирующий отношение - Возвращает:
- ObjectName соответствующего MBean отношения или null, если отношение не является MBean.
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
RelationNotFoundException- нет отношения, связанного с этим идентификатором
isRelation
String isRelation(ObjectName objectName)
throws IllegalArgumentException Возвращает идентификатор отношения, связанный с данным ObjectName, если MBean был добавлен в качестве отношения в службе отношений.
- Параметры:
-
objectName- ObjectName предполагаемого отношения - Возвращает:
- идентификатор отношения (строка) или null (если ObjectName не является отношением, обрабатываемым службой отношений)
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null
hasRelation
Boolean hasRelation(String relationId)
throws IllegalArgumentException Проверяет, существует ли отношение, идентифицируемое в службе отношений, с заданным идентификатором отношения.
- Параметры:
-
relationId- идентификатор отношения, идентифицирующий отношение - Возвращает:
- boolean: true, если отношение существует, false — иначе
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null
getAllRelationIds
List<String> getAllRelationIds()
Возвращает все идентификаторы отношений для всех отношений, обрабатываемых службой отношений.
- Возвращает:
- Список строк
checkRoleReading
Integer checkRoleReading(String roleName,
String relationTypeName)
throws IllegalArgumentException,
RelationTypeNotFoundException Проверяет, может ли заданная роль читаться в отношении заданного типа.
- Параметры:
-
roleName- имя роли, подлежащей проверке -
relationTypeName- имя типа отношения - Возвращает:
- целое число, содержащее целое число, соответствующее возможным проблемам, представленным как константы в RoleUnresolved:
- 0, если роль может быть прочитана
- целое число, соответствующее RoleStatus.NO_ROLE_WITH_NAME
- целое число, соответствующее RoleStatus.ROLE_NOT_READABLE
- Возможные исключения:
-
IllegalArgumentException- если параметр равен null -
RelationTypeNotFoundException- если тип отношения неизвестен службе отношений
checkRoleWriting
Integer checkRoleWriting(Role role,
String relationTypeName,
Boolean initFlag)
throws IllegalArgumentException,
RelationTypeNotFoundException Проверяет, может ли заданная роль устанавливаться в отношении заданного типа.
- Параметры:
-
role- роль, которая должна быть проверена -
relationTypeName- имя типа отношения -
initFlag- флаг, указывающий, что проверка выполняется для инициализации роли, чтение доступа не будет проверяться. - Возвращает:
- объект Integer, содержащий целое число, соответствующее возможным проблемам, представленным как константы в 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- если параметр null -
RelationTypeNotFoundException- если тип отношения неизвестен
sendRelationCreationNotification
void sendRelationCreationNotification(String relationId)
throws IllegalArgumentException,
RelationNotFoundException Отправляет уведомление (RelationNotification) о создании отношения. Тип уведомления:
- RelationNotification.RELATION_BASIC_CREATION, если отношение является объектом, внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_CREATION, если отношение является объектом MBean, добавленным как отношение.
Источник объекта — сама служба отношений.
Вызывается в методах createRelation() и addRelation() службы отношений.
- Параметры:
-
relationId- идентификатор обновленного отношения - Выбрасывает:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если для данного идентификатора отношения нет отношения
sendRoleUpdateNotification
void sendRoleUpdateNotification(String relationId,
Role newRole,
List<ObjectName> oldRoleValue)
throws IllegalArgumentException,
RelationNotFoundException Отправляет уведомление (RelationNotification) об обновлении роли в заданном отношении. Тип уведомления:
- RelationNotification.RELATION_BASIC_UPDATE, если отношение является объектом, внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_UPDATE, если отношение является объектом MBean, добавленным как отношение.
Источник объекта — сама служба отношений.
Вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) объекта MBean отношения (реализация предоставлена в классе RelationSupport).
Также вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) службы отношений.
- Параметры:
-
relationId- идентификатор обновленного отношения -
newRole- новая роль (имя и новое значение) -
oldRoleValue- старое значение роли (список объектов ObjectName) - Выбрасывает:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если для данного идентификатора отношения нет отношения
sendRelationRemovalNotification
void sendRelationRemovalNotification(String relationId,
List<ObjectName> unregMBeanList)
throws IllegalArgumentException,
RelationNotFoundException Отправляет уведомление (RelationNotification) об удалении отношения. Тип уведомления:
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как объект MBean.
Для объектов MBean, на которые ссылается такое отношение, ничего не будет сделано.
- Параметры:
-
relationId- идентификатор обновленного отношения -
unregMBeanList- список ObjectName объектов MBean, которые ожидаются для аннулирования из-за удаления отношения (может быть null) - Выбрасывает:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если для данного идентификатора отношения нет отношения
updateRoleMap
void updateRoleMap(String relationId,
Role newRole,
List<ObjectName> oldRoleValue)
throws IllegalArgumentException,
RelationServiceNotRegisteredException,
RelationNotFoundException Обрабатывает обновление карты ролей службы отношений для обновления заданной роли в заданном отношении.
Вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) объекта MBean отношения (реализация предоставлена в классе RelationSupport).
Также вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) службы отношений.
Для поддержания согласованности (в случае аннулирования объекта MBean) и возможности выполнения запросов, этот метод необходимо вызывать при обновлении роли.
- Параметры:
-
relationId- идентификатор обновленного отношения -
newRole- новая роль (имя и новое значение) -
oldRoleValue- старое значение роли (список объектов ObjectName) - Выбрасывает:
-
IllegalArgumentException- если параметр null -
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
RelationNotFoundException- если нет отношения для данного идентификатора.
removeRelation
void removeRelation(String relationId)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationNotFoundException Удаляет заданное отношение из службы отношений.
Отправляется уведомление RelationNotification, его тип:
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как объект MBean.
Для объектов MBean, на которые ссылается такое отношение, ничего не будет сделано.
- Параметры:
-
relationId- идентификатор отношения, которое необходимо удалить - Выбрасывает:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения, соответствующего данному идентификатору отношения
purgeRelations
void purgeRelations()
throws RelationServiceNotRegisteredException Очищает отношения.
В зависимости от значения purgeFlag, этот метод либо вызывается автоматически при получении уведомления об аннулировании объекта MBean, на который ссылается отношение (если флаг установлен в true), либо нет (если флаг установлен в false).
В этом случае пользователю необходимо вызвать его для поддержания согласованности отношений. Следует учитывать, что если объект MBean аннулируется, а очистка не выполняется немедленно, если ObjectName повторно используется и назначается другому объекту MBean, на который ссылается отношение, вызов метода purgeRelations() вручную приведет к проблемам, так как он будет рассматривать ObjectName как соответствующий аннулированному объекту MBean, а не новому.
Поведение зависит от кардинальности роли, где ссылается на аннулированный объект MBean:
- если удаление одной ссылки на объект MBean в роли делает количество ссылок меньше минимальной степени, отношение должно быть удалено.
- если оставшееся количество ссылок после удаления ссылки на объект MBean все еще находится в диапазоне кардинальности, сохраните отношение и обновите его, вызвав его обратный вызов handleMBeanUnregistration().
- Выбрасывает:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean.
findReferencingRelations
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName,
String relationTypeName,
String roleName)
throws IllegalArgumentException Получает отношения, где на данный объект MBean ссылаются.
Это соответствует операциям CIM «Ссылки» и «Имена ссылок».
- Параметры:
-
mbeanName- ObjectName объекта MBean -
relationTypeName- может быть null; если указано, то при поиске будут учитываться только отношения этого типа. В противном случае учитываются все типы отношений. -
relationTypeName- может быть null; если указано, то будут возвращаться только отношения, где на объект MBean ссылаются в этой роли. В противном случае учитываются все роли. - Возвращает:
- HashMap, где ключи — идентификаторы отношений, где на объект MBean ссылаются, а значение — для каждого ключа, ArrayList имен ролей (так как объект MBean может ссылаться на несколько ролей в одном отношении).
- Выбрасывает:
-
IllegalArgumentException- если параметр null
findAssociatedMBeans
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName,
String relationTypeName,
String roleName)
throws IllegalArgumentException Получает объекты MBean, связанные с данным объектом в отношении.
Это соответствует операциям CIM «Ассоциаторы» и «Имена ассоциаторов».
- Параметры:
-
mbeanName- ObjectName объекта MBean -
relationTypeName- может быть null; если указано, то при поиске будут учитываться только отношения этого типа. В противном случае учитываются все типы отношений. -
roleName- может быть null; если указано, то будут рассматриваться только отношения, где на объект MBean ссылаются в этой роли. В противном случае учитываются все роли. - Возвращает:
- HashMap, где ключи — ObjectName связанных объектов MBean, а значение — для каждого ключа, ArrayList идентификаторов отношений, в которых ключ MBean связан с заданным (так как они могут быть связаны в нескольких разных отношениях).
- Выбрасывает:
-
IllegalArgumentException- если параметр null
findRelationsOfType
List<String> findRelationsOfType(String relationTypeName)
throws IllegalArgumentException,
RelationTypeNotFoundException Возвращает идентификаторы отношений для отношений заданного типа.
- Параметры:
-
relationTypeName- имя типа отношения - Возвращает:
- ArrayList идентификаторов отношений.
- Выбрасывает:
-
IllegalArgumentException- если параметр null -
RelationTypeNotFoundException- если нет типа отношения с таким именем.
getRole
List<ObjectName> getRole(String relationId,
String roleName)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationNotFoundException,
RoleNotFoundException Получает значение роли для заданного имени роли в заданном отношении.
- Параметры:
-
relationId- идентификатор отношения -
roleName- имя роли - Возвращает:
- ArrayList объектов ObjectName, представляющих значение роли
- Выбрасывает:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором -
RoleNotFoundException- если:- нет роли с данным именем
или
- роль недоступна для чтения.
- См. также:
setRole(java.lang.String, javax.management.relation.Role)
getRoles
RoleResult getRoles(String relationId,
String[] roleNameArray)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationNotFoundException Получает значения ролей с заданными именами в заданном отношении.
- Параметры:
-
relationId- идентификатор отношения -
roleNameArray- массив имён ролей для получения - Возвращает:
- объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, которые не были получены).
- Исключения:
-
RelationServiceNotRegisteredException- если служба Relation не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором - См. также:
setRoles(java.lang.String, javax.management.relation.RoleList)
getAllRoles
RoleResult getAllRoles(String relationId)
throws IllegalArgumentException,
RelationNotFoundException,
RelationServiceNotRegisteredException Возвращает все роли, присутствующие в отношении.
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, которые не могут быть прочитаны).
- Исключения:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором -
RelationServiceNotRegisteredException- если служба Relation не зарегистрирована в сервере MBean
getRoleCardinality
Integer getRoleCardinality(String relationId,
String roleName)
throws IllegalArgumentException,
RelationNotFoundException,
RoleNotFoundException Возвращает количество MBean, которые в данный момент ссылаются на заданную роль.
- Параметры:
-
relationId- идентификатор отношения -
roleName- имя роли - Возвращает:
- количество MBean, которые в данный момент ссылаются на эту роль
- Исключения:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором -
RoleNotFoundException- если нет роли с данным именем
setRole
void setRole(String relationId,
Role role)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationNotFoundException,
RoleNotFoundException,
InvalidRoleValueException,
RelationTypeNotFoundException Устанавливает заданную роль в заданном отношении.
Проверяет роль в соответствии с её определением, предоставленным в типе отношения.
Служба Relation отслеживает изменения для поддержания согласованности отношений, обрабатывая дерегистрации ссылающихся MBean.
- Параметры:
-
relationId- идентификатор отношения -
role- роль, которая должна быть установлена (имя и новое значение) - Исключения:
-
RelationServiceNotRegisteredException- если служба Relation не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором -
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 Устанавливает заданные роли в заданном отношении.
Проверяет роли в соответствии с их определениями, указанными в типе отношения.
Служба Relation отслеживает изменения, чтобы сохранить согласованность отношений, обрабатывая дерегистрации ссылающихся MBean.
- Параметры:
-
relationId- идентификатор отношения -
roleList- список ролей для установки - Возвращает:
- объект RoleResult, включающий RoleList (для успешно установленных ролей) и RoleUnresolvedList (для ролей, которые не были установлены).
- Исключения:
-
RelationServiceNotRegisteredException- если служба Relation не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором - См. также:
getRoles(java.lang.String, java.lang.String[])
getReferencedMBeans
Map<ObjectName,List<String>> getReferencedMBeans(String relationId)
throws IllegalArgumentException,
RelationNotFoundException Получает MBean, ссылающиеся на различные роли в отношении.
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- словарь HashMap, отображающий:
ObjectName -> ArrayList строк (имена ролей)
- Исключения:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором
getRelationTypeName
String getRelationTypeName(String relationId)
throws IllegalArgumentException,
RelationNotFoundException Возвращает имя связанного типа отношения для данного отношения.
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- имя связанного типа отношения.
- Исключения:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с данным идентификатором
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/relation/RelationServiceMBean.html