Spec-Zone.ru › OpenJDK 17

Интерфейс 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.
Возбуждает:
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) заданного типа отношения и добавляет его в Сервис отношений.

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

Отправка уведомления 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 RelationService 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 предполагаемого отношения
Возвращает:
идентификатор отношения (строка) или 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
Проверяет, может ли заданная роль читаться в отношении заданного типа.
Parameters:
roleName - имя роли, подлежащей проверке
relationTypeName - имя типа отношения
Returns:
объект Integer, содержащий целое число, соответствующее возможным проблемам, представленным в виде констант в RoleUnresolved:

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

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

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

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

checkRoleWriting

Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException
Проверяет, может ли заданная роль устанавливаться в отношении заданного типа.
Parameters:
role - проверяемая роль
relationTypeName - имя типа отношения
initFlag - флаг, указывающий, что проверка выполняется для инициализации роли; доступ на запись не проверяется.
Returns:
объект Integer, содержащий целое число, соответствующее возможным проблемам, представленным в виде констант в RoleUnresolved:

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

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

- целое число для RoleStatus.ROLE_NOT_WRITABLE

- целое число для RoleStatus.LESS_THAN_MIN_ROLE_DEGREE

- целое число для RoleStatus.MORE_THAN_MAX_ROLE_DEGREE

- целое число для RoleStatus.REF_MBEAN_OF_INCORRECT_CLASS

- целое число для RoleStatus.REF_MBEAN_NOT_REGISTERED

Throws:
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - если тип отношения неизвестен

sendRelationCreationNotification

void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException
Отправляет уведомление (RelationNotification) о создании отношения. Тип уведомления:

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

- RelationNotification.RELATION_MBEAN_CREATION, если отношение добавляется как MBean.

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

Вызывается в методах createRelation() и addRelation() службы отношений.

Parameters:
relationId - идентификатор обновленного отношения
Throws:
IllegalArgumentException - если параметр null
RelationNotFoundException - если нет отношения с заданным идентификатором

sendRoleUpdateNotification

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

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

- RelationNotification.RELATION_MBEAN_UPDATE, если отношение добавляется как MBean.

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

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

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

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

sendRelationRemovalNotification

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

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

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

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

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

updateRoleMap

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

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

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

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

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

removeRelation

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

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

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

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

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

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

purgeRelations

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

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

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

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

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

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

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

findReferencingRelations

Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Возвращает отношения, в которых указанный MBean упоминается.

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

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

findAssociatedMBeans

Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Возвращает MBean, связанные с данным, в отношении.

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

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

findRelationsOfType

List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
Возвращает идентификаторы отношений для отношений заданного типа.
Parameters:
relationTypeName - имя типа отношения
Returns:
объект ArrayList идентификаторов отношений.
Throws:
IllegalArgumentException - если параметр null
RelationTypeNotFoundException - если нет типа отношения с таким именем.

Получить роль

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)

Получить роли

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

Получить все роли

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

Получить количество роли

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

Установить роль

void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
Устанавливает заданную роль в заданном отношении.

Будет проверять роль в соответствии с ее соответствующим определением роли, предоставленным в типе отношения.

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

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

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

и

- роль не существует или не доступна для записи

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

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

или

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

или

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

или

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

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

Установить роли

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

Будет проверять роль в соответствии с ее соответствующим определением роли, предоставленным в типе отношения

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

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

Получить ссылающиеся MBean

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

ObjectName -> ArrayList имен ролей

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

Получить имя типа отношения

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

© 1993, 2021, 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/17/docs/api/java.management/javax/management/relation/RelationServiceMBean.html

Spec-Zone.ru

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