Интерфейс 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 |
Получает MBean, связанные с указанным MBean в отношении. |
Map |
findReferencingRelations |
Получает отношения, в которых указанный MBean является ссылочным. |
List |
findRelationsOfType |
Возвращает идентификаторы отношений заданного типа. |
List |
getAllRelationIds() |
Возвращает идентификаторы всех отношений, обрабатываемых Службой отношений. |
List |
getAllRelationTypeNames() |
Получает имена всех известных типов отношений. |
RoleResult |
getAllRoles |
Возвращает все роли, присутствующие в отношении. |
boolean |
getPurgeFlag() |
Возвращает флаг, указывающий, нужно ли немедленно выполнять «очистку» отношений (искать отношения, ставшие недействительными) при получении уведомления о снятии с регистрации MBean, на который ссылается отношение, или выполнять её только при явном вызове метода purgeRelations. |
Map |
getReferencedMBeans |
Получает MBean, на которые ссылаются различные роли отношения. |
String |
getRelationTypeName |
Возвращает имя типа отношения, связанного с указанным отношением. |
List |
getRole |
Получает значение роли с указанным именем в заданном отношении. |
Integer |
getRoleCardinality |
Получает количество MBean, на которые в данный момент ссылается заданная роль. |
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— если:— тип отношения с таким именем уже существует
— одно и то же имя использовано для двух разных сведений о ролях
— сведения о ролях не предоставлены
— одно из предоставленных сведений о ролях равно null
addRelationType
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
- Параметры:
-
relationTypeObj— объект типа отношения (реализующий интерфейс RelationType) - Выбрасывает:
-
IllegalArgumentException— если параметр равен null илиrelationTypeObj.getRelationTypeName()возвращает null. -
InvalidRelationTypeException— если тип отношения с таким именем уже существует
getAllRelationTypeNames
List<String> getAllRelationTypeNames()
- Возвращает:
- ArrayList имен типов отношений (String)
getRoleInfos
List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
- Параметры:
-
relationTypeName— имя типа отношения - Возвращает:
- ArrayList объектов 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
Роли инициализируются в соответствии со списком ролей, переданным в параметре. Ролям, не инициализированным таким образом, присваивается пустой ArrayList объектов ObjectName.
Отправляется уведомление RelationNotification с типом RELATION_BASIC_CREATION.
- Параметры:
-
relationId— идентификатор отношения, уникально идентифицирующий отношение в Службе отношений -
relationTypeName— имя типа отношения (тип должен быть создан в Службе отношений) -
roleList— список ролей для инициализации ролей отношения (может быть равен null). - Выбрасывает:
-
RelationServiceNotRegisteredException— если Служба отношений не зарегистрирована на MBean-сервере -
IllegalArgumentException— если параметр равен null -
RoleNotFoundException— если для роли, отсутствующей в типе отношения, предоставлено значение -
InvalidRelationIdException— если идентификатор отношения уже используется -
RelationTypeNotFoundException— если тип отношения неизвестен Службе отношений -
InvalidRoleValueException— если:— одно и то же имя роли использовано для двух разных ролей
— число ссылающихся MBean в предоставленном значении меньше ожидаемой минимальной кратности
— число ссылающихся MBean в предоставленном значении превышает ожидаемую максимальную кратность
— один из ссылающихся MBean в значении не является объектом ожидаемого для этой роли класса MBean
— предоставленный для этой роли MBean не существует
addRelation
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
Чтобы добавить MBean в качестве отношения, он должен соответствовать следующим требованиям:
— реализовывать интерфейс Relation
— иметь в качестве ObjectName Службы отношений ObjectName текущей Службы отношений
— иметь уникальный и неиспользуемый идентификатор отношения в текущей Службе отношений
— иметь тип отношения, созданный в Службе отношений
— иметь роли, соответствующие сведениям о ролях, указанным в типе отношения.
- Параметры:
-
relationObjectName— ObjectName добавляемого MBean-отношения. - Выбрасывает:
-
IllegalArgumentException— если параметр равен null -
RelationServiceNotRegisteredException— если Служба отношений не зарегистрирована на MBean-сервере -
NoSuchMethodException— если MBean не реализует интерфейс Relation -
InvalidRelationIdException— если:— в MBean отсутствует идентификатор отношения
— идентификатор отношения уже используется в Службе отношений
-
InstanceNotFoundException— если MBean с заданным ObjectName не зарегистрирован -
InvalidRelationServiceException— если:— в MBean отсутствует имя Службы отношений
— имя Службы отношений в MBean не совпадает с именем текущей Службы отношений
-
RelationTypeNotFoundException— если:— в MBean отсутствует имя типа отношения
— имя типа отношения в MBean не соответствует типу отношения, созданному в Службе отношений
-
InvalidRoleValueException— если:— число ссылающихся MBean в роли меньше ожидаемой минимальной кратности
— число ссылающихся MBean в роли превышает ожидаемую максимальную кратность
— один из ссылающихся 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 отношения - Возвращает:
- идентификатор отношения (String) или null (если ObjectName не является отношением, обрабатываемым Службой отношений)
- Выбрасывает:
-
IllegalArgumentException— если параметр равен null
hasRelation
Boolean hasRelation(String relationId) throws IllegalArgumentException
- Параметры:
-
relationId— идентификатор отношения - Возвращает:
- boolean: true, если отношение существует, иначе false
- Выбрасывает:
-
IllegalArgumentException— если параметр равен null
getAllRelationIds
List<String> getAllRelationIds()
- Возвращает:
- ArrayList объектов String
checkRoleReading
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
- Параметры:
-
roleName— имя проверяемой роли -
relationTypeName— имя типа отношения - Возвращает:
- объект Integer, содержащий целое число, соответствующее возможной проблеме, представленной константами 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.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.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.RELATION_BASIC_REMOVAL, если отношение является внутренним объектом Службы отношений
— RelationNotification.RELATION_MBEAN_REMOVAL, если отношение является MBean, добавленным в качестве отношения.
Источником является сама Служба отношений.
Вызывается методом removeRelation() Службы отношений.
- Параметры:
-
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 число ссылок в роли становится меньше минимальной кратности, отношение необходимо удалить.
— если оставшееся после удаления ссылки на MBean число ссылок все еще находится в диапазоне кратности, отношение сохраняется, и оно обновляется вызовом его обратного вызова handleMBeanUnregistration().
- Выбрасывает:
-
RelationServiceNotRegisteredException— если Служба отношений не зарегистрирована на MBean-сервере.
findReferencingRelations
Map<String, List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует операциям 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
Это соответствует операциям CIM Associators и AssociatorNames.
- Параметры:
-
mbeanName— ObjectName MBean -
relationTypeName— может быть равен null; если задан, при поиске будут учитываться только отношения этого типа. В противном случае учитываются все типы отношений. -
roleName— может быть равен null; если задан, будут учитываться только отношения, в которых MBean указан в этой роли. В противном случае учитываются все роли. - Возвращает:
- HashMap, где ключи — ObjectName MBean, связанных с заданным MBean, а значение для каждого ключа — ArrayList идентификаторов отношений, в которых MBean, соответствующий ключу, связан с заданным 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— если:— роли с заданным именем не существует
или
— роль недоступна для чтения.
- См. также:
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 объектов String (имена ролей)
- Выбрасывает:
-
IllegalArgumentException— если параметр равен null -
RelationNotFoundException— если отношения с заданным идентификатором не существует
getRelationTypeName
String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
- Параметры:
-
relationId— идентификатор связи - Возвращает:
- имя связанного типа связи.
- Выбрасывает:
-
IllegalArgumentException— если параметр равен null -
RelationNotFoundException— если связь с указанным идентификатором не найдена
© 1993, 2025, 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/25/docs/api/java.management/javax/management/relation/RelationServiceMBean.html