Интерфейс RelationServiceMBean
- Все известные реализующие классы:
RelationService
public interface RelationServiceMBean
- С момента:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addRelation |
Добавляет созданный пользователем (и зарегистрированный им в сервере MBean) MBean в качестве взаимосвязи в службу взаимосвязей. |
void |
addRelationType |
Добавляет указанный объект в качестве типа взаимосвязи. |
Integer |
checkRoleReading |
Проверяет, может ли данный Роль быть прочитан в взаимосвязи данного типа. |
Integer |
checkRoleWriting |
Проверяет, может ли данный Роль быть задан в взаимосвязи данного типа. |
void |
createRelation |
Создаёт простую взаимосвязь (представленную объектом RelationSupport) заданного типа взаимосвязи и добавляет её в службу взаимосвязей. |
void |
createRelationType |
Создаёт тип взаимосвязи (объект RelationTypeSupport) с заданными информационными данными ролей (предоставленными объектами RoleInfo) и добавляет его в службу взаимосвязей. |
Map |
findAssociatedMBeans |
Извлекает MBeans, связанные с заданным в взаимосвязи. |
Map |
findReferencingRelations |
Извлекает взаимосвязи, где указанный MBean проинициализирован. |
List |
findRelationsOfType |
Возвращает идентификаторы взаимосвязей для взаимосвязей данного типа. |
List |
getAllRelationIds() |
Возвращает все идентификаторы взаимосвязей для всех взаимосвязей, обрабатываемых службой взаимосвязей. |
List |
getAllRelationTypeNames() |
Извлекает имена всех известных типов взаимосвязей. |
RoleResult |
getAllRoles |
Возвращает все роли, присутствующие во взаимосвязи. |
boolean |
getPurgeFlag() |
Возвращает флаг, указывающий, когда при получении уведомления об отмене регистрации MBean, на который ссылается взаимосвязь, необходимо выполнить немедленное «очищение» взаимосвязей (поиск взаимосвязей, которые больше недействительны), или это будет выполнено только при явном вызове метода purgeRelations. |
Map |
getReferencedMBeans |
Извлекает MBeans, на которые ссылаются различные роли взаимосвязи. |
String |
getRelationTypeName |
Возвращает имя связанного типа взаимосвязи для данной взаимосвязи. |
List |
getRole |
Извлекает значение роли для данного имени роли в данной взаимосвязи. |
Integer |
getRoleCardinality |
Извлекает количество MBeans, в настоящее время указанных в данной роли. |
RoleInfo |
getRoleInfo |
Извлекает информацию о роли для данной роли данного типа взаимосвязи. |
List |
getRoleInfos |
Извлекает список информационных данных ролей (объекты RoleInfo) данного типа взаимосвязи. |
RoleResult |
getRoles |
Извлекает значения ролей с заданными именами в данной взаимосвязи. |
Boolean |
hasRelation |
Проверяет, есть ли взаимосвязь, идентифицированная в службе взаимосвязей, с данным идентификатором взаимосвязи. |
void |
isActive() |
Проверяет, активна ли служба взаимосвязей. |
String |
isRelation |
Возвращает идентификатор взаимосвязи, связанный с заданным ObjectName, если MBean был добавлен в качестве взаимосвязи в службу взаимосвязей. |
ObjectName |
isRelationMBean |
Если взаимосвязь представлена MBean (созданным пользователем и добавленным в качестве взаимосвязи в службу взаимосвязей), возвращает ObjectName MBean. |
void |
purgeRelations() |
Очищает взаимосвязи. |
void |
removeRelation |
Удаляет заданную взаимосвязь из службы взаимосвязей. |
void |
removeRelationType |
Удаляет заданный тип взаимосвязи из службы взаимосвязей. |
void |
sendRelationCreationNotification |
Отправляет уведомление (RelationNotification) о создании взаимосвязи. |
void |
sendRelationRemovalNotification |
Отправляет уведомление (RelationNotification) об удалении взаимосвязи. |
void |
sendRoleUpdateNotification |
Отправляет уведомление (RelationNotification) об обновлении роли в данной взаимосвязи. |
void |
setPurgeFlag |
Устанавливает флаг, указывающий, нужно ли при получении уведомления об отмене регистрации MBean, на который ссылается взаимосвязь, выполнить немедленное «очищение» взаимосвязей (поиск взаимосвязей, которые больше недействительны), или это будет выполнено только при явном вызове метода purgeRelations. |
void |
setRole |
Устанавливает данную роль в данной взаимосвязи. |
RoleResult |
setRoles |
Устанавливает заданные роли в данной взаимосвязи. |
void |
updateRoleMap |
Обрабатывает обновление карты ролей службы взаимосвязей для обновления заданной роли в заданной взаимосвязи. |
Подробное описание методов
isActive
void isActive() throws RelationServiceNotRegisteredException
- Возникает исключение:
-
RelationServiceNotRegisteredException- если она не зарегистрирована
getPurgeFlag
boolean getPurgeFlag()
true означает немедленное очищение.
- Возвращает:
- true, если очищение выполняется немедленно.
- См. также:
setPurgeFlag
void setPurgeFlag(boolean purgeFlag)
true означает немедленное очищение.
- Параметры:
-
purgeFlag- флаг - См. также:
createRelationType
void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
- Параметры:
-
relationTypeName- имя типа отношения -
roleInfoArray- массив с информацией о ролях - Возникает исключение:
-
IllegalArgumentException- если параметр null -
InvalidRelationTypeException- Если:- тип отношения с таким именем уже существует
- одно и то же имя использовалось для двух разных сведений о роли
- информация о роли не предоставлена
- предоставлена нулевая информация о роли
addRelationType
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
- Параметры:
-
relationTypeObj- объект типа отношения (реализующий интерфейс RelationType) - Возникает исключение:
-
IllegalArgumentException- если параметр null или еслиrelationTypeObj.getRelationTypeName()возвращает null. -
InvalidRelationTypeException- если тип отношения с таким именем уже существует
getAllRelationTypeNames
List<String> getAllRelationTypeNames()
- Возвращает:
- Список имён типов отношений (строки)
getRoleInfos
List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
- Параметры:
-
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.
- Параметры:
-
relationTypeName- имя типа отношения для удаления - Возникает исключение:
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationTypeNotFoundException- Если тип отношения с таким именем не существует
createRelation
void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
Роли инициализируются в соответствии со списком ролей, предоставленным в параметре. Те, которые не были инициализированы таким образом, устанавливаются в пустой список ArrayList ObjectNames.
Отправка уведомления RelationNotification с типом RELATION_BASIC_CREATION.
- Параметры:
-
relationId- идентификатор отношения, уникально идентифицирующий отношение внутри службы Relation Service -
relationTypeName- имя типа отношения (должно быть создано в службе Relation Service) -
roleList- список ролей для инициализации ролей отношения (может быть null). - Возникает исключение:
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения -
InvalidRelationIdException- если идентификатор отношения уже используется -
RelationTypeNotFoundException- если тип отношения не известен в службе Relation Service -
InvalidRoleValueException- если:- одно и то же имя роли используется для двух разных ролей
- количество ссылок на MBeans в заданном значении меньше ожидаемой минимальной степени
- количество ссылок на MBeans в предоставленном значении превышает ожидаемую максимальную степень
- одна ссылка на MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
addRelation
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
Чтобы добавить его как отношение, 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- если:- количество MBeans, на которые ссылается роль, меньше ожидаемой минимальной степени
- количество MBeans, на которые ссылается роль, превышает ожидаемую максимальную степень
- одна ссылка на MBean в значении не является объектом класса MBean, ожидаемого для этой роли
- MBean, предоставленный для этой роли, не существует
-
RoleNotFoundException- если значение предоставлено для роли, которая не существует в типе отношения
isRelationMBean
ObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException
- Параметры:
-
relationId- идентификатор отношения, определяющий отношение - Возвращает:
- ObjectName соответствующего MBean отношения или null, если отношение не является MBean.
- Возникает исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- нет отношения, связанного с этим идентификатором
isRelation
String isRelation(ObjectName objectName) throws IllegalArgumentException
- Параметры:
-
objectName- ObjectName предполагаемого отношения - Возвращает:
- идентификатор отношения (строка) или null (если ObjectName не является отношением, обрабатываемым службой Relation Service)
- Возникает исключение:
-
IllegalArgumentException- если параметр null
hasRelation
Boolean hasRelation(String relationId) throws IllegalArgumentException
- Параметры:
-
relationId- идентификатор отношения, определяющий отношение - Возвращает:
- boolean: true, если отношение существует, false в противном случае
- Возникает исключение:
-
IllegalArgumentException- если параметр null
getAllRelationIds
List<String> getAllRelationIds()
- Возвращает:
- ArrayList строк
checkRoleReading
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
- Parameters:
-
roleName- имя роли, подлежащей проверке -
relationTypeName- имя типа отношения - Returns:
- объект Integer, содержащий целое число, соответствующее возможным проблемам, представленным в виде констант в RoleUnresolved:
- 0, если роль может быть прочитана
- целое число, соответствующее RoleStatus.NO_ROLE_WITH_NAME
- целое число, соответствующее RoleStatus.ROLE_NOT_READABLE
- Throws:
-
IllegalArgumentException- если параметр null -
RelationTypeNotFoundException- если тип отношения неизвестен в службе отношений
checkRoleWriting
Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException
- Parameters:
-
role- проверяемая роль -
relationTypeName- имя типа отношения -
initFlag- флаг, указывающий, что проверка выполняется для инициализации роли; доступ на запись не проверяется. - Returns:
- объект 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
- Throws:
-
IllegalArgumentException- если параметр null -
RelationTypeNotFoundException- если тип отношения неизвестен
sendRelationCreationNotification
void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_CREATION, если отношение является объектом, внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_CREATION, если отношение добавляется как MBean.
Источник объекта — сама служба отношений.
Вызывается в методах createRelation() и addRelation() службы отношений.
- Parameters:
-
relationId- идентификатор обновленного отношения - Throws:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором
sendRoleUpdateNotification
void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_UPDATE, если отношение является объектом, внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_UPDATE, если отношение добавляется как MBean.
Источник объекта — сама служба отношений.
Вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) MBean отношения (реализация в классе RelationSupport).
Также вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) службы отношений.
- Parameters:
-
relationId- идентификатор обновленного отношения -
newRole- новая роль (имя и новое значение) -
oldRoleValue- старое значение роли (список объектов ObjectName) - Throws:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором
sendRelationRemovalNotification
void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как MBean.
Для ссылок на MBean в таком отношении ничего не будет сделано.
- Parameters:
-
relationId- идентификатор обновленного отношения -
unregMBeanList- список ObjectName объектов MBean, ожидаемых к разрегистрации из-за удаления отношения (может быть null) - Throws:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором
updateRoleMap
void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
Вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) MBean отношения (реализация в классе RelationSupport).
Также вызывается в методах setRole() (для заданной роли) и setRoles() (для каждой роли) службы отношений.
Для поддержания согласованности службы отношений (в случае разрегистрации MBean) и для возможности выполнения запросов этот метод необходимо вызывать при обновлении роли.
- Parameters:
-
relationId- идентификатор обновленного отношения -
newRole- новая роль (имя и новое значение) -
oldRoleValue- старое значение роли (список объектов ObjectName) - Throws:
-
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, на которые ссылается отношение, ничего не будет сделано.
- Parameters:
-
relationId- идентификатор отношения, подлежащего удалению - Throws:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения, соответствующего заданному идентификатору
purgeRelations
void purgeRelations() throws RelationServiceNotRegisteredException
В зависимости от значения purgeFlag, этот метод либо вызывается автоматически при получении уведомления о разрегистрации MBean, на который ссылается отношение (если флаг установлен в true), либо нет (если флаг установлен в false).
В этом случае пользователю необходимо его вызывать, чтобы сохранить согласованность отношений. Следует помнить, что если MBean разрегистрирован и очистка не выполнена немедленно, если ObjectName повторно используется и присваивается другому MBean, на который ссылается отношение, вызов метода purgeRelations() вручную приведет к проблемам, так как он будет считать ObjectName соответствующим разрегистрированному MBean, а не новому.
Поведение зависит от кардинальности роли, в которой упоминается разрегистрированный MBean:
- если удаление одной ссылки на MBean в роли уменьшает количество ссылок до меньше минимальной степени, отношение должно быть удалено.
- если оставшееся количество ссылок после удаления ссылки на MBean все еще находится в диапазоне кардинальности, сохраните отношение и обновите его, вызвав обратный вызов handleMBeanUnregistration().
- Throws:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean.
findReferencingRelations
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует операциям CIM "References" и "ReferenceNames".
- Parameters:
-
mbeanName- ObjectName объекта MBean -
relationTypeName- может быть null; если указано, будут рассмотрены только отношения указанного типа. Иначе — все типы отношений. -
roleName- может быть null; если указано, будут возвращены только отношения, в которых MBean упоминается в этой роли. Иначе — все роли. - Returns:
- объект HashMap, где ключи — идентификаторы отношений, в которых упоминается MBean, а значение — для каждого ключа — ArrayList имен ролей (так как один MBean может упоминаться в нескольких ролях в одном отношении).
- Throws:
-
IllegalArgumentException- если параметр null
findAssociatedMBeans
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует операциям CIM Associators и AssociatorNames.
- Parameters:
-
mbeanName- ObjectName объекта MBean -
relationTypeName- может быть null; если указано, будут рассмотрены только отношения указанного типа. Иначе — все типы отношений. -
roleName- может быть null; если указано, будут рассмотрены только отношения, в которых MBean упоминается в этой роли. Иначе — все роли. - Returns:
- объект HashMap, где ключи — ObjectName связанных MBean, а значение — для каждого ключа — ArrayList идентификаторов отношений, в которых ключ MBean связан с данным (поскольку они могут быть связаны в нескольких разных отношениях).
- Throws:
-
IllegalArgumentException- если параметр null
findRelationsOfType
List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
- Parameters:
-
relationTypeName- имя типа отношения - Returns:
- объект ArrayList идентификаторов отношений.
- Throws:
-
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- если:- нет роли с заданным именем
или
- роль недоступна для чтения.
- См. также:
getRoles
RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
- Параметры:
-
relationId- идентификатор отношения -
roleNameArray- массив имен ролей, которые нужно получить - Возвращает:
- объект RoleResult, содержащий список RoleList (для успешно полученных ролей) и список RoleUnresolvedList (для ролей, которые не были получены).
- Исключение:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором - См. также:
getAllRoles
RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- объект RoleResult, содержащий список RoleList (для успешно полученных ролей) и список RoleUnresolvedList (для ролей, которые недоступны для чтения).
- Исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения для данного идентификатора -
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean
getRoleCardinality
Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
- Параметры:
-
relationId- идентификатор отношения -
roleName- имя роли - Возвращает:
- количество MBean, которые в данный момент ссылаются на данную роль
- Исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором -
RoleNotFoundException- если нет роли с заданным именем
setRole
void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
Будет проверять роль в соответствии с ее определением, указанным в типе отношения
Служба отношений будет отслеживать изменения, чтобы поддерживать согласованность отношений, обрабатывая удаления ссылок на MBean.
- Параметры:
-
relationId- идентификатор отношения -
role- устанавливаемая роль (имя и новое значение) - Исключение:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором -
RoleNotFoundException- если:- внутреннее отношение
и
- роли не существует или она не доступна для записи
-
InvalidRoleValueException- если внутреннее отношение и предоставленное значение для роли некорректно:- количество ссылок на MBean в данном значении меньше ожидаемой минимальной степени
или
- количество ссылок на MBean в предоставленном значении превышает ожидаемую максимальную степень
или
- один из ссылающихся MBean в значении не является объектом класса MBean, ожидаемого для этой роли
или
- предоставленный для этой роли MBean не существует
-
RelationTypeNotFoundException- если тип отношения неизвестен - См. также:
setRoles
RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Будет проверять роли в соответствии с их определением, указанным в типе отношения
Служба отношений отслеживает изменения, чтобы поддерживать согласованность отношений, обрабатывая удаления ссылок на MBean.
- Параметры:
-
relationId- идентификатор отношения -
roleList- список ролей, которые нужно установить - Возвращает:
- объект RoleResult, содержащий список RoleList (для успешно установленных ролей) и список RoleUnresolvedList (для ролей, которые не были установлены).
- Исключение:
-
RelationServiceNotRegisteredException- если служба отношений не зарегистрирована в сервере MBean -
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения с заданным идентификатором - См. также:
getReferencedMBeans
Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- словарь HashMap, сопоставляющий:
ObjectName -> ArrayList строк (имена ролей)
- Исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения для заданного идентификатора отношения
getRelationTypeName
String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
- Параметры:
-
relationId- идентификатор отношения - Возвращает:
- имя связанного типа отношения.
- Исключение:
-
IllegalArgumentException- если параметр null -
RelationNotFoundException- если нет отношения для заданного идентификатора
© 1993, 2023, 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/21/docs/api/java.management/javax/management/relation/RelationServiceMBean.html