Spec-Zone.ru › OpenJDK 25

Интерфейс 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, связанные с указанным 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()
Получает имена всех известных типов отношений.
Возвращает:
ArrayList имен типов отношений (String)

getRoleInfos

List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
Получает список сведений о ролях (объектов RoleInfo) для заданного типа отношения.
Параметры:
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
Создает простое отношение (представленное объектом RelationSupport) заданного типа и добавляет его в Службу отношений.

Роли инициализируются в соответствии со списком ролей, переданным в параметре. Ролям, не инициализированным таким образом, присваивается пустой 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 (и зарегистрированный им на MBean-сервере) в качестве отношения в Службу отношений.

Чтобы добавить 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
Если отношение представлено MBean (созданным пользователем и добавленным в качестве отношения в Службу отношений), возвращает ObjectName этого MBean.
Параметры:
relationId — идентификатор отношения
Возвращает:
ObjectName соответствующего MBean-отношения или null, если отношение не является MBean.
Выбрасывает:
IllegalArgumentException — если параметр равен null
RelationNotFoundException — если с этим идентификатором не связано ни одно отношение

isRelation

String isRelation(ObjectName objectName) throws IllegalArgumentException
Возвращает идентификатор отношения, связанный с заданным ObjectName, если MBean был добавлен в Службу отношений в качестве отношения.
Параметры:
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) о создании отношения. Тип уведомления:

— 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, добавленным в качестве отношения.

Источником является сама Служба отношений.

Вызывается методом 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
Получает отношения, в которых указан 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, связанные с заданным MBean в отношении.

Это соответствует операциям 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 — если:

— роли с заданным именем не существует

или

— роль недоступна для чтения.

См. также:
  • setRole(String, Role)

getRoles

RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Получает значения ролей с заданными именами в заданном отношении.
Параметры:
relationId — идентификатор отношения
roleNameArray — массив имен ролей для получения
Возвращает:
объект RoleResult, содержащий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, которые не удалось получить).
Выбрасывает:
RelationServiceNotRegisteredException — если Служба отношений не зарегистрирована на MBean-сервере
IllegalArgumentException — если параметр равен null
RelationNotFoundException — если отношения с заданным идентификатором не существует
См. также:
  • setRoles(String, RoleList)

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
Получает количество MBean, на которые в данный момент ссылается заданная роль.
Параметры:
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 — если тип отношения неизвестен
См. также:
  • getRole(String, String)

setRoles

RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Задает указанные роли в заданном отношении.

Роли будут проверены на соответствие определениям этих ролей, указанным в типе отношения.

Служба отношений будет отслеживать изменения, чтобы поддерживать согласованность отношений при снятии с регистрации MBean, на которые они ссылаются.

Параметры:
relationId — идентификатор отношения
roleList — список задаваемых ролей
Возвращает:
объект RoleResult, содержащий RoleList (для успешно заданных ролей) и RoleUnresolvedList (для ролей, которые не удалось задать).
Выбрасывает:
RelationServiceNotRegisteredException — если Служба отношений не зарегистрирована на MBean-сервере
IllegalArgumentException — если параметр равен null
RelationNotFoundException — если отношения с заданным идентификатором не существует
См. также:
  • getRoles(String, String[])

getReferencedMBeans

Map<ObjectName, List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException
Получает MBean, на которые ссылаются различные роли отношения.
Параметры:
relationId — идентификатор отношения
Возвращает:
HashMap, сопоставляющий:

ObjectName -> ArrayList объектов String (имена ролей)

Выбрасывает:
IllegalArgumentException — если параметр равен null
RelationNotFoundException — если отношения с заданным идентификатором не существует

getRelationTypeName

String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
Возвращает имя типа связи, связанного с указанной связью.
Параметры:
relationId — идентификатор связи
Возвращает:
имя связанного типа связи.
Выбрасывает:
IllegalArgumentException — если параметр равен null
RelationNotFoundException — если связь с указанным идентификатором не найдена

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API