Интерфейс 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, связанные с данным в отношении.

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()

Возвращает имена всех известных типов отношений.

Возвращает:
Список имен типов отношений (строки)

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
IllegalArgumentException - если параметр равен null
RelationTypeNotFoundException - если нет типа отношения с таким именем

createRelation

void createRelation(String relationId,
                    String relationTypeName,
                    RoleList roleList)
             throws RelationServiceNotRegisteredException,
                    IllegalArgumentException,
                    RoleNotFoundException,
                    InvalidRelationIdException,
                    RelationTypeNotFoundException,
                    InvalidRoleValueException

Создаёт простое отношение (представленное объектом RelationSupport) заданного типа отношения и добавляет его в службу отношений.

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

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

Параметры:
relationId - идентификатор отношения для уникальной идентификации отношения внутри службы отношений
relationTypeName - имя типа отношения (должно быть создано в службе отношений)
roleList - список ролей для инициализации ролей отношения (может быть null).
Возможные исключения:
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean
IllegalArgumentException - если параметр равен null
RoleNotFoundException - если значение предоставлено для роли, которая не существует в типе отношения
InvalidRelationIdException - если идентификатор отношения уже используется
RelationTypeNotFoundException - если тип отношения неизвестен службе отношений
InvalidRoleValueException - если:

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

- количество ссылающихся MBeans в заданном значении меньше ожидаемой минимальной степени

- количество ссылающихся MBeans в предоставленном значении превышает ожидаемую максимальную степень

- один ссылающийся MBean в значении не является объектом класса MBean, ожидаемого для этой роли

- MBean, предоставленный для этой роли, не существует

addRelation

void addRelation(ObjectName relationObjectName)
          throws IllegalArgumentException,
                 RelationServiceNotRegisteredException,
                 NoSuchMethodException,
                 InvalidRelationIdException,
                 InstanceNotFoundException,
                 InvalidRelationServiceException,
                 RelationTypeNotFoundException,
                 RoleNotFoundException,
                 InvalidRoleValueException

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

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

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

- иметь для ObjectName RelationService ObjectName текущей службы отношений

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

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

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

Параметры:
relationObjectName - ObjectName MBean отношения, подлежащего добавлению.
Возможные исключения:
IllegalArgumentException - если параметр равен null
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean
NoSuchMethodException - если MBean не реализует интерфейс Relation
InvalidRelationIdException - если:

- нет идентификатора отношения в MBean

- идентификатор отношения уже используется в службе отношений

InstanceNotFoundException - если MBean для данного ObjectName не зарегистрирован
InvalidRelationServiceException - если:

- нет имени службы отношений в MBean

- имя службы отношений в MBean не совпадает с именем текущей службы отношений

RelationTypeNotFoundException - если:

- нет имени типа отношения в MBean

- имя типа отношения в MBean не соответствует типу отношения, созданному в службе отношений

InvalidRoleValueException - если:

- количество ссылающихся MBeans в роли меньше ожидаемой минимальной степени

- количество ссылающихся MBeans в роли превышает ожидаемую максимальную степень

- один ссылающийся 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()

Возвращает все идентификаторы отношений для всех отношений, обрабатываемых службой отношений.

Возвращает:
Список строк

checkRoleReading

Integer checkRoleReading(String roleName,
                         String relationTypeName)
                  throws IllegalArgumentException,
                         RelationTypeNotFoundException

Проверяет, может ли заданная роль читаться в отношении заданного типа.

Параметры:
roleName - имя роли, подлежащей проверке
relationTypeName - имя типа отношения
Возвращает:
целое число, содержащее целое число, соответствующее возможным проблемам, представленным как константы в RoleUnresolved:

- 0, если роль может быть прочитана

- целое число, соответствующее RoleStatus.NO_ROLE_WITH_NAME

- целое число, соответствующее RoleStatus.ROLE_NOT_READABLE

Возможные исключения:
IllegalArgumentException - если параметр равен null
RelationTypeNotFoundException - если тип отношения неизвестен службе отношений

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.

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

Параметры:
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 все еще находится в диапазоне кардинальности, сохраните отношение и обновите его, вызвав его обратный вызов handleMBeanUnregistration().

Выбрасывает:
RelationServiceNotRegisteredException - если служба отношений не зарегистрирована в сервере MBean.

findReferencingRelations

Map<String,List<String>> findReferencingRelations​(ObjectName mbeanName,
                                                        String relationTypeName,
                                                        String roleName)
                                                 throws IllegalArgumentException

Получает отношения, где на данный объект MBean ссылаются.

Это соответствует операциям CIM «Ссылки» и «Имена ссылок».

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

findAssociatedMBeans

Map<ObjectName,List<String>> findAssociatedMBeans​(ObjectName mbeanName,
                                                        String relationTypeName,
                                                        String roleName)
                                                 throws IllegalArgumentException

Получает объекты MBean, связанные с данным объектом в отношении.

Это соответствует операциям CIM «Ассоциаторы» и «Имена ассоциаторов».

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

findRelationsOfType

List<String> findRelationsOfType(String relationTypeName)
                          throws IllegalArgumentException,
                                 RelationTypeNotFoundException

Возвращает идентификаторы отношений для отношений заданного типа.

Параметры:
relationTypeName - имя типа отношения
Возвращает:
ArrayList идентификаторов отношений.
Выбрасывает:
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - если нет типа отношения с таким именем.

getRole

List<ObjectName> getRole(String relationId,
                         String roleName)
                  throws RelationServiceNotRegisteredException,
                         IllegalArgumentException,
                         RelationNotFoundException,
                         RoleNotFoundException

Получает значение роли для заданного имени роли в заданном отношении.

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

- нет роли с данным именем

или

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

См. также:
setRole(java.lang.String, javax.management.relation.Role)

getRoles

RoleResult getRoles(String relationId,
                    String[] roleNameArray)
             throws RelationServiceNotRegisteredException,
                    IllegalArgumentException,
                    RelationNotFoundException

Получает значения ролей с заданными именами в заданном отношении.

Параметры:
relationId - идентификатор отношения
roleNameArray - массив имён ролей для получения
Возвращает:
объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, которые не были получены).
Исключения:
RelationServiceNotRegisteredException - если служба Relation не зарегистрирована в сервере MBean
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с данным идентификатором
См. также:
setRoles(java.lang.String, javax.management.relation.RoleList)

getAllRoles

RoleResult getAllRoles(String relationId)
                throws IllegalArgumentException,
                       RelationNotFoundException,
                       RelationServiceNotRegisteredException

Возвращает все роли, присутствующие в отношении.

Параметры:
relationId - идентификатор отношения
Возвращает:
объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, которые не могут быть прочитаны).
Исключения:
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с данным идентификатором
RelationServiceNotRegisteredException - если служба Relation не зарегистрирована в сервере MBean

getRoleCardinality

Integer getRoleCardinality(String relationId,
                           String roleName)
                    throws IllegalArgumentException,
                           RelationNotFoundException,
                           RoleNotFoundException

Возвращает количество MBean, которые в данный момент ссылаются на заданную роль.

Параметры:
relationId - идентификатор отношения
roleName - имя роли
Возвращает:
количество MBean, которые в данный момент ссылаются на эту роль
Исключения:
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с данным идентификатором
RoleNotFoundException - если нет роли с данным именем

setRole

void setRole(String relationId,
             Role role)
      throws RelationServiceNotRegisteredException,
             IllegalArgumentException,
             RelationNotFoundException,
             RoleNotFoundException,
             InvalidRoleValueException,
             RelationTypeNotFoundException

Устанавливает заданную роль в заданном отношении.

Проверяет роль в соответствии с её определением, предоставленным в типе отношения.

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

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

- внутреннее отношение

и

- роли не существует или она не может быть изменена

InvalidRoleValueException - если внутреннее отношение и предоставленное значение для роли недействительно:

- количество ссылающихся MBean в данном значении меньше ожидаемого минимального значения

или

- количество ссылающихся MBean в предоставленном значении превышает ожидаемое максимальное значение

или

- один из ссылающихся MBean в значении не является объектом класса MBean, ожидаемого для этой роли

или

- MBean, предоставленный для этой роли, не существует

RelationTypeNotFoundException - если тип отношения неизвестен
См. также:
getRole(java.lang.String, java.lang.String)

setRoles

RoleResult setRoles(String relationId,
                    RoleList roleList)
             throws RelationServiceNotRegisteredException,
                    IllegalArgumentException,
                    RelationNotFoundException

Устанавливает заданные роли в заданном отношении.

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

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

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

getReferencedMBeans

Map<ObjectName,List<String>> getReferencedMBeans​(String relationId)
                                                throws IllegalArgumentException,
                                                       RelationNotFoundException

Получает MBean, ссылающиеся на различные роли в отношении.

Параметры:
relationId - идентификатор отношения
Возвращает:
словарь HashMap, отображающий:

ObjectName -> ArrayList строк (имена ролей)

Исключения:
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с данным идентификатором

getRelationTypeName

String getRelationTypeName(String relationId)
                    throws IllegalArgumentException,
                           RelationNotFoundException

Возвращает имя связанного типа отношения для данного отношения.

Параметры:
relationId - идентификатор отношения
Возвращает:
имя связанного типа отношения.
Исключения:
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с данным идентификатором

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/relation/RelationServiceMBean.html

Spec-Zone .ru
спецификации, руководства, описания, API