Spec-Zone.ru › OpenJDK 24

Интерфейс 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
Проверяет, активен ли Сервис отношений. Текущее условие состоит в том, что Сервис отношений должен быть зарегистрирован в MBean Server
Исключение:
RelationServiceNotRegisteredException - если он не зарегистрирован

getPurgeFlag

boolean getPurgeFlag()
Возвращает флаг, указывающий, необходимо ли при получении уведомления об отмене регистрации MBean, на который ссылается отношение, выполнить немедленное «очищение» отношений (поиск недействительных отношений) или это будет сделано только при явном вызове метода purgeRelations.

true — немедленное очищение.

Возвращает:
true, если очищение происходит немедленно.
См. также:
  • setPurgeFlag(boolean)

setPurgeFlag

void setPurgeFlag(boolean purgeFlag)
Устанавливает флаг, указывающий, необходимо ли при получении уведомления об отмене регистрации MBean, на который ссылается отношение, выполнить немедленное «очищение» отношений (поиск недействительных отношений) или это будет сделано только при явном вызове метода purgeRelations.

true — немедленное очищение.

Параметры:
purgeFlag - флаг
См. также:
  • getPurgeFlag()

createRelationType

void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
Создаёт тип отношения (объект RelationTypeSupport) с заданными информацией о ролях (предоставлены объектами RoleInfo) и добавляет его в Сервис отношений.
Параметры:
relationTypeName - имя типа отношения
roleInfoArray - массив информации о ролях
Исключение:
IllegalArgumentException - если параметр null
InvalidRelationTypeException - Если:

- тип отношения с таким именем уже существует

- одно и то же имя используется для двух разных информационных элементов о ролях

- информация о роли не предоставлена

- одна информация о роли имеет значение null

addRelationType

void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
Добавляет данный объект в качестве типа отношения. Ожидается, что объект реализует интерфейс RelationType.
Параметры:
relationTypeObj - объект типа отношения (реализующий интерфейс RelationType)
Исключение:
IllegalArgumentException - если параметр null или если relationTypeObj.getRelationTypeName() возвращает null.
InvalidRelationTypeException - если тип отношения с таким именем уже существует

getAllRelationTypeNames

List<String> getAllRelationTypeNames()
Получает имена всех известных типов отношений.
Возвращает:
Список имен типов отношений (строки)

getRoleInfos

List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
Получает список информации о ролях (объектов RoleInfo) заданного типа отношения.
Параметры:
relationTypeName - имя типа отношения
Возвращает:
Список объектов RoleInfo.
Исключение:
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - если нет типа отношения с таким именем.

getRoleInfo

RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
Получает информацию о роли для заданной роли заданного типа отношения.
Параметры:
relationTypeName - имя типа отношения
roleInfoName - имя роли
Возвращает:
Объект RoleInfo.
Исключение:
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - если тип отношения неизвестен в Сервисе отношений
RoleInfoNotFoundException - если роль не входит в состав типа отношения.

removeRelationType

void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException
Удаляет заданный тип отношения из Сервиса отношений.

Объекты отношений этого типа будут удалены из Сервиса отношений.

Параметры:
relationTypeName - имя типа отношения для удаления
Исключение:
RelationServiceNotRegisteredException - если Сервис отношений не зарегистрирован в MBean Server
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - Если нет типа отношения с таким именем

createRelation

void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
Создаёт простое отношение (представленное объектом RelationSupport) заданного типа отношения и добавляет его в Сервис отношений.

Роли инициализируются в соответствии со списком ролей, предоставленным в параметре. Те, которые не инициализированы таким образом, устанавливаются в пустой ArrayList объектов ObjectNames.

Отправляется RelationNotification с типом RELATION_BASIC_CREATION.

Параметры:
relationId - идентификатор отношения, уникально идентифицирующий отношение внутри Сервиса отношений
relationTypeName - имя типа отношения (должно быть создано в Сервисе отношений)
roleList - список ролей для инициализации ролей отношения (может быть null).
Исключение:
RelationServiceNotRegisteredException - если Сервис отношений не зарегистрирован в MBean Server
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 Server) как отношение в Сервис отношений.

Для добавления в качестве отношения MBean должен соответствовать следующим требованиям:

- реализовывать интерфейс Relation

- иметь для ObjectName RelationService ObjectName текущего Сервиса отношений

- иметь уникальный и неиспользуемый в текущем Сервисе отношений идентификатор отношения

- иметь для типа отношения тип отношения, созданный в Сервисе отношений

- иметь роли, соответствующие информации о ролях, предоставленной в типе отношения.

Параметры:
relationObjectName - ObjectName MBean отношения для добавления.
Исключение:
IllegalArgumentException - если параметр null
RelationServiceNotRegisteredException - если Сервис отношений не зарегистрирован в MBean Server
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 предполагаемого отношения
Возвращает:
идентификатор отношения (строка) или null (если ObjectName не является отношением, обрабатываемым Сервисом отношений)
Исключение:
IllegalArgumentException - если параметр null

hasRelation

Boolean hasRelation(String relationId) throws IllegalArgumentException
Проверяет, существует ли в Сервисе отношений отношение, идентифицированное заданным идентификатором отношения.
Параметры:
relationId - идентификатор отношения, идентифицирующий отношение
Возвращает:
boolean: true, если отношение существует, false в противном случае
Исключение:
IllegalArgumentException - если параметр null

getAllRelationIds

List<String> getAllRelationIds()
Возвращает все идентификаторы отношений для всех отношений, обрабатываемых службой отношений.
Возвращает:
Список строк (ArrayList of 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, добавленный как отношение.

Источник объекта — сама служба отношений.

Вызывается в методах 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).

Также вызывается в методах Relation Service setRole() (для заданной роли) и setRoles() (для каждой роли).

Параметры:
relationId - идентификатор обновленного отношения
newRole - новая роль (имя и новое значение)
oldRoleValue - старое значение роли (список объектов ObjectName)
Исключение:
IllegalArgumentException - если параметр null
RelationNotFoundException - если для данного идентификатора отношения нет отношения

sendRelationRemovalNotification

void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException
Отправляет уведомление (RelationNotification) об удалении отношения. Тип уведомления:

- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений

- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как MBean.

Для MBean, на которые ссылается такое отношение, ничего не будет сделано,

Параметры:
relationId - идентификатор обновленного отношения
unregMBeanList - список ObjectName MBean, которые ожидают разрегистрации из-за удаления отношения (может быть null)
Исключение:
IllegalArgumentException - если параметр null
RelationNotFoundException - если для данного идентификатора отношения нет отношения

updateRoleMap

void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
Обрабатывает обновление карты ролей службы отношений для обновления заданной роли в заданном отношении.

Вызывается в методах MBean отношения setRole() (для заданной роли) и setRoles() (для каждой роли) (реализация предоставлена в классе RelationSupport).

Также вызывается в методах Relation Service setRole() (для заданной роли) и setRoles() (для каждой роли).

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

Параметры:
relationId - идентификатор обновленного отношения
newRole - новая роль (имя и новое значение)
oldRoleValue - старое значение роли (список объектов ObjectName)
Исключение:
IllegalArgumentException - если параметр null
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean
RelationNotFoundException - если нет отношения для данного идентификатора.

removeRelation

void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Удаляет заданное отношение из службы отношений.

Отправляется уведомление RelationNotification, его тип:

- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним для службы отношений

- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение зарегистрировано как MBean.

Для MBean, на которые ссылается такое отношение, ничего не будет сделано.

Параметры:
relationId - идентификатор отношения, подлежащего удалению
Исключение:
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения, соответствующего данному идентификатору отношения

purgeRelations

void purgeRelations() throws RelationServiceNotRegisteredException
Очищает отношения.

В зависимости от значения purgeFlag, этот метод либо вызывается автоматически при получении уведомления о разрегистрации MBean, на который ссылается отношение (если флаг установлен в true), либо нет (если флаг установлен в false).

В этом случае пользователю необходимо его вызвать, чтобы сохранить согласованность отношений. Следует помнить, что если MBean разрегистрирован, а очистка не выполнена немедленно, если ObjectName повторно используется и назначается другому MBean, на который ссылается отношение, вызов метода purgeRelations() вручную приведет к проблемам, так как он будет рассматривать ObjectName как соответствующий разрегистрированному MBean, не видя новый.

Поведение зависит от кардинальности роли, где ссылается разрегистрированный MBean:

- если удаление одной ссылки на MBean в роли уменьшает количество ссылок ниже минимальной степени, отношение необходимо удалить.

- если оставшееся количество ссылок после удаления ссылки на MBean всё ещё находится в диапазоне кардинальности, сохраните отношение и обновите его, вызвав обратный вызов handleMBeanUnregistration().

Исключение:
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean.

findReferencingRelations

Map<String, List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Получает отношения, где на заданный MBean есть ссылка.

Это соответствует операциям CIM "References" и "ReferenceNames".

Параметры:
mbeanName - ObjectName MBean
relationTypeName - может быть null; если указано, то в поиске будут учитываться только отношения этого типа. В противном случае учитываются все типы отношений.
roleName - может быть null; если указано, то будут возвращены только отношения, где MBean ссылается на эту роль. В противном случае учитываются все роли.
Возвращает:
Словарь HashMap, где ключи — идентификаторы отношений, в которых на MBean есть ссылка, а значение — для каждого ключа, список имён ролей (так как MBean может ссылаться на несколько ролей в одном отношении).
Исключение:
IllegalArgumentException - если параметр null

Связанные объекты MBean

Map<ObjectName, List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Получает объекты MBean, связанные с заданным объектом в отношении.

Это соответствует операциям CIM Associators и AssociatorNames.

Параметры:
mbeanName - Объект имени MBean
relationTypeName - может быть null; если указано, при поиске будут рассмотрены только отношения этого типа. В противном случае рассматриваются все типы отношений.
roleName - может быть null; если указано, при поиске будут рассмотрены только отношения, где объект MBean упоминается в этой роли. В противном случае рассматриваются все роли.
Возвращает:
словарь HashMap, где ключи — имена объектов MBean, связанных с заданным объектом 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 - если служба Relation Service не зарегистрирована
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 Service не зарегистрирована в сервере 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 Service не зарегистрирована в сервере 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 Service будет отслеживать изменения для поддержания согласованности отношений, обрабатывая удаления зарегистрированных объектов MBean.

Параметры:
relationId - идентификатор отношения
role - устанавливаемая роль (имя и новое значение)
Выбрасывает:
RelationServiceNotRegisteredException - если служба Relation Service не зарегистрирована в сервере 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 Service отслеживает изменения для поддержания согласованности отношений, обрабатывая удаления зарегистрированных объектов MBean.

Параметры:
relationId - идентификатор отношения
roleList - список устанавливаемых ролей
Возвращает:
объект RoleResult, содержащий список RoleList (для успешно установленных ролей) и список RoleUnresolvedList (для ролей, которые не были установлены).
Выбрасывает:
RelationServiceNotRegisteredException - если служба Relation Service не зарегистрирована в сервере 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/relation/RelationServiceMBean.html

Spec-Zone.ru

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