Интерфейс 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) Получает 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, упоминаемые в различных ролях отношения. |
String |
getRelationTypeName(String relationId) Возвращает имя связанного типа отношения для данного отношения. |
List<ObjectName> |
getRole(String relationId,
String roleName) Получает значение роли для данного имени роли в данном отношении. |
Integer |
getRoleCardinality(String relationId,
String roleName) Возвращает количество MBeans, текущее упоминаемых в заданной роли. |
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 Проверяет, активна ли служба Relation Service. Текущее условие заключается в том, что служба Relation Service должна быть зарегистрирована в сервере 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) и добавляет его в службу Relation Service.
- Параметры:
-
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- если тип отношения неизвестен службе Relation Service -
RoleInfoNotFoundException- если роль не входит в состав типа отношения.
removeRelationType
void removeRelationType(String relationTypeName)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationTypeNotFoundException Удаляет заданный тип отношения из службы Relation Service.
Объекты отношений данного типа будут удалены из службы Relation Service.
- Параметры:
-
relationTypeName- имя типа отношения, подлежащего удалению - Возбуждает:
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр равен null -
RelationTypeNotFoundException- если тип отношения с таким именем не существует
createRelation
void createRelation(String relationId,
String relationTypeName,
RoleList roleList)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RoleNotFoundException,
InvalidRelationIdException,
RelationTypeNotFoundException,
InvalidRoleValueException Создаёт простое отношение (представленное объектом RelationSupport) заданного типа отношения и добавляет его в службу Relation Service.
Роли инициализируются в соответствии с предоставленным списком ролей в параметре. Те, которые не инициализированы таким образом, устанавливаются в пустой список ArrayList объектов ObjectName.
Отправляется уведомление RelationNotification с типом RELATION_BASIC_CREATION.
- Параметры:
-
relationId- идентификатор отношения, уникально идентифицирующий отношение в службе Relation Service -
relationTypeName- имя типа отношения (должно быть создано в службе Relation Service) -
roleList- список ролей для инициализации ролей отношения (может быть null). - Возбуждает:
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр равен null -
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения -
InvalidRelationIdException- если идентификатор отношения уже используется -
RelationTypeNotFoundException- если тип отношения неизвестен службе Relation Service -
InvalidRoleValueException- если:- одно и то же имя роли используется для двух разных ролей
- количество ссылающихся MBean в заданном значении меньше ожидаемой минимальной степени
- количество ссылающихся MBean в предоставленном значении превышает ожидаемую максимальную степень
- один ссылающийся MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
addRelation
void addRelation(ObjectName relationObjectName)
throws IllegalArgumentException,
RelationServiceNotRegisteredException,
NoSuchMethodException,
InvalidRelationIdException,
InstanceNotFoundException,
InvalidRelationServiceException,
RelationTypeNotFoundException,
RoleNotFoundException,
InvalidRoleValueException Добавляет созданный пользователем MBean (и зарегистрированный им в сервере MBean) в качестве отношения в службе Relation Service.
Для добавления в качестве отношения MBean должен соответствовать следующим требованиям:
- реализовывать интерфейс Relation
- иметь для ObjectName RelationService ObjectName текущей службы Relation Service
- иметь уникальный и неиспользуемый в текущей службе Relation Service идентификатор отношения
- иметь для типа отношения тип отношения, созданный в службе Relation Service
- иметь роли, соответствующие сведениям о роли, предоставленным в типе отношения.
- Параметры:
-
relationObjectName- ObjectName MBean отношения, подлежащего добавлению. - Возбуждает:
-
IllegalArgumentException- если параметр равен null -
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в сервере MBean -
NoSuchMethodException- если MBean не реализует интерфейс Relation -
InvalidRelationIdException- если:- идентификатор отношения отсутствует в MBean
- идентификатор отношения уже используется в службе Relation Service
-
InstanceNotFoundException- если MBean для данного ObjectName не зарегистрирован -
InvalidRelationServiceException- если:- имя службы Relation Service отсутствует в MBean
- имя службы Relation Service в MBean не соответствует текущей службе Relation Service
-
RelationTypeNotFoundException- если:- имя типа отношения отсутствует в MBean
- имя типа отношения в MBean не соответствует типу отношения, созданному в службе Relation Service
-
InvalidRoleValueException- если:- количество ссылающихся MBean в роли меньше ожидаемой минимальной степени
- количество ссылающихся MBean в роли превышает ожидаемую максимальную степень
- один ссылающийся MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
-
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения
isRelationMBean
ObjectName isRelationMBean(String relationId)
throws IllegalArgumentException,
RelationNotFoundException Если отношение представлено MBean (созданным пользователем и добавленным в качестве отношения в службе Relation Service), возвращает ObjectName MBean.
- Параметры:
-
relationId- идентификатор отношения, идентифицирующий отношение - Возвращает:
- ObjectName соответствующего MBean отношения или null, если отношение не является MBean.
- Возбуждает:
-
IllegalArgumentException- если параметр равен null -
RelationNotFoundException- отношения, связанного с этим идентификатором, нет
isRelation
String isRelation(ObjectName objectName)
throws IllegalArgumentException Возвращает идентификатор отношения, связанный с указанным ObjectName, если MBean был добавлен как отношение в службе Relation Service.
- Параметры:
-
objectName- ObjectName предполагаемого отношения - Возвращает:
- идентификатор отношения (строка) или null (если ObjectName не является отношением, обрабатываемым службой Relation Service)
- Возбуждает:
-
IllegalArgumentException- если параметр равен null
hasRelation
Boolean hasRelation(String relationId)
throws IllegalArgumentException Проверяет, существует ли в службе Relation Service отношение с заданным идентификатором отношения.
- Параметры:
-
relationId- идентификатор отношения, идентифицирующий отношение - Возвращает:
- boolean: true, если отношение существует, false в противном случае
- Возбуждает:
-
IllegalArgumentException- если параметр равен null
getAllRelationIds
List<String> getAllRelationIds()
Возвращает все идентификаторы отношений для всех отношений, обрабатываемых службой Relation Service.
- Возвращает:
- Список строк
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- если тип отношения неизвестен в службе Relation Service
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, добавленный как отношение.
Исходный объект — сама служба отношений.
Вызывается в методах Relation Service 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.
Исходный объект — сама служба отношений.
Вызывается в методах MBean отношения setRole() (для заданной роли) и setRoles() (для каждой роли) (реализация предоставлена в классе 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.
Исходный объект — сама служба отношений.
Вызывается в методе Relation Service removeRelation().
- Параметры:
-
relationId- идентификатор обновлённого отношения -
unregMBeanList- список ObjectName объектов MBean, которые ожидается удалить из-за удаления отношения (может быть null) - Исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения для данного идентификатора отношения
updateRoleMap
void updateRoleMap(String relationId,
Role newRole,
List<ObjectName> oldRoleValue)
throws IllegalArgumentException,
RelationServiceNotRegisteredException,
RelationNotFoundException Обрабатывает обновление карты ролей службы отношений для обновления заданной роли в заданном отношении.
Вызывается в методах MBean отношения setRole() (для заданной роли) и setRoles() (для каждой роли) (реализация предоставлена в классе RelationSupport).
Также вызывается в методах службы отношений setRole() (для заданной роли) и setRoles() (для каждой роли).
Для обеспечения согласованности службы отношений (в случае удаления MBean) и возможности выполнения запросов, этот метод должен вызываться при обновлении роли.
- Параметры:
-
relationId- идентификатор обновлённого отношения -
newRole- новая роль (имя и новое значение) -
oldRoleValue- старое значение роли (список объектов ObjectName) - Исключение:
-
IllegalArgumentException- если параметр null -
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в MBean Server -
RelationNotFoundException- если нет отношения для данного идентификатора.
removeRelation
void removeRelation(String relationId)
throws RelationServiceNotRegisteredException,
IllegalArgumentException,
RelationNotFoundException Удаляет заданное отношение из службы отношений.
Отправляется уведомление RelationNotification, тип которого:
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как MBean.
Для MBean, указанных в таком отношении, ничего не будет сделано.
- Параметры:
-
relationId- идентификатор отношения, подлежащего удалению - Исключение:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в MBean Server -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения, соответствующего данному идентификатору отношения
purgeRelations
void purgeRelations()
throws RelationServiceNotRegisteredException Очищает отношения.
В зависимости от значения purgeFlag, этот метод либо вызывается автоматически при получении уведомления об отмене регистрации MBean, указанного в отношении (если флаг установлен в true), либо нет (если флаг установлен в false).
В этом случае пользователю необходимо вызвать его, чтобы сохранить согласованность отношений. Следует иметь в виду, что если MBean отменён из регистрации и очистка не выполнена немедленно, если ObjectName повторно используется и назначен другому MBean, указанному в отношении, вызов метода purgeRelations() вручную приведёт к проблемам, так как он будет рассматривать ObjectName как соответствующий отменённому MBean, а не новому.
Поведение зависит от кардинальности роли, в которой указан отменённый MBean:
- если удаление одной ссылки на MBean в роли уменьшает число ссылок меньше минимальной степени, отношение должно быть удалено.
- если оставшееся число ссылок после удаления ссылки на MBean всё ещё находится в диапазоне кардинальности, сохраните отношение и обновите его, вызвав обратный вызов handleMBeanUnregistration().
- Исключение:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в MBean Server.
findReferencingRelations
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName,
String relationTypeName,
String roleName)
throws IllegalArgumentException Получает отношения, в которых указан данный MBean.
Это соответствует операциям CIM "References" и "ReferenceNames".
- Параметры:
-
mbeanName- ObjectName MBean -
relationTypeName- может быть null; если указано, при поиске будут учитываться только отношения этого типа. Иначе учитываются все типы отношений. -
roleName- может быть null; если указано, будут возвращены только отношения, в которых MBean указан в этой роли. Иначе учитываются все роли. - Возвращает:
- HashMap, где ключи — идентификаторы отношений, в которых указан MBean, а значение — для каждого ключа ArrayList имён ролей (так как MBean может быть указан в нескольких ролях в одном отношении).
- Исключение:
-
IllegalArgumentException- если параметр null
findAssociatedMBeans
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName,
String relationTypeName,
String roleName)
throws IllegalArgumentException Получает MBean, связанные с заданным в отношении.
Это соответствует операциям CIM Associators и AssociatorNames.
- Параметры:
-
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.