Spec-Zone .ru
спецификации, руководства, описания, API
|
public class RelationService extends NotificationBroadcasterSupport implements RelationServiceMBean, MBeanRegistration, NotificationListener
Это реализует NotificationBroadcaster, расширяя NotificationBroadcasterSupport, чтобы отправить уведомления, когда отношение удаляется из этого.
Это реализует интерфейс NotificationListener, чтобы быть в состоянии получить уведомления относительно нерегистрации MBeans, на который ссылаются в ролях отношения и отношения MBeans.
Это реализует интерфейс MBeanRegistration, чтобы быть в состоянии получить его ObjectName и Сервер MBean.
Конструктор и Описание |
---|
RelationService(boolean immediatePurgeFlag)
Конструктор.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
addRelation(ObjectName relationObjectName)
Добавляет MBean, создаваемый пользователем (и зарегистрированный им в Сервере MBean) как отношение в Службе Отношения.
|
void |
addRelationType(RelationType relationTypeObj)
Добавляет данный объект как тип отношения.
|
Целое число |
checkRoleReading(String roleName, String relationTypeName)
Проверки, если данный Роль может быть считан в отношении данного типа.
|
Целое число |
checkRoleWriting(Role role, String relationTypeName, Boolean initFlag)
Проверки, если данный Роль может быть установлен в отношении данного типа.
|
void |
createRelation(String relationId, String relationTypeName, RoleList roleList)
Создает простое отношение (представленный объектом RelationSupport) данного типа отношения, и добавляет это в Службе Отношения.
|
void |
createRelationType(String relationTypeName, RoleInfo[] roleInfoArray)
Создает тип отношения (объект RelationTypeSupport) с данной ролью infos (обеспеченный объектами 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)
Возвраты все роли, существующие в отношении.
|
MBeanNotificationInfo[] |
getNotificationInfo()
Возвращает объект NotificationInfo, содержащий имя Java class уведомления и отправленных типов уведомления.
|
boolean |
getPurgeFlag()
Возвращает флаг, чтобы указать, должна ли, когда уведомление получается для нерегистрации MBean, на который ссылаются в отношении, если непосредственная "чистка" отношений (ищут больше не действительные отношения) быть выполнена, или если это будет выполняться только, когда purgeRelations метод явно вызовут.
|
Map<ObjectName,List<String>> |
getReferencedMBeans(String relationId)
Получает MBeans, на который ссылаются в различных ролях отношения.
|
Строка |
getRelationTypeName(String relationId)
Имя возвратов связанного отношения вводит для данного отношения.
|
List<ObjectName> |
getRole(String relationId, String roleName)
Получает ролевое значение для данного ролевого имени в данном отношении.
|
Целое число |
getRoleCardinality(String relationId, String roleName)
Получает число MBeans, на который в настоящий момент ссылаются в данной роли.
|
RoleInfo |
getRoleInfo(String relationTypeName, String roleInfoName)
Получает ролевую информацию для данного ролевого имени данного типа отношения.
|
List<RoleInfo> |
getRoleInfos(String relationTypeName)
Получает список роли infos (объекты RoleInfo) данного типа отношения.
|
RoleResult |
getRoles(String relationId, String[] roleNameArray)
Получает значения ролей с именами в данном отношении.
|
void |
handleNotification(Notification notif, Object handback)
Вызванный, когда уведомление JMX происходит.
|
Булев |
hasRelation(String relationId)
Проверки, если есть отношение, идентифицированное в Службе Отношения с данным идентификатором отношения.
|
void |
isActive()
Проверки, если Служба Отношения является активной.
|
Строка |
isRelation(ObjectName objectName)
Возвращает идентификатор отношения, связанный с данным ObjectName, если MBean был добавлен как отношение в Службе Отношения.
|
ObjectName |
isRelationMBean(String relationId)
Если отношение представляется MBean (создаваемый пользователем, и добавил как отношение в Службе Отношения), возвращает ObjectName MBean.
|
void |
postDeregister()
Позволяет MBean выполнять любые операции, необходимые будучи незарегистрированным в сервере MBean.
|
void |
postRegister(Boolean registrationDone)
Позволяет MBean выполнять любые операции, необходимые, будучи зарегистрированным в сервере MBean или после того, как регистрация перестала работать.
|
void |
preDeregister()
Позволяет MBean выполнять любые операции, в которых он нуждается перед стать незарегистрированным сервером MBean.
|
ObjectName |
preRegister(MBeanServer server, ObjectName name)
Позволяет MBean выполнять любые операции, в которых он нуждается прежде, чем быть зарегистрированным в Сервере 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> oldValue)
Отправляет уведомление (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> oldValue)
Обновление дескрипторов роли Службы Отношения отображается для обновления данной роли в данном отношении.
|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
public RelationService(boolean immediatePurgeFlag)
immediatePurgeFlag
- флаг, чтобы указать, когда уведомление получается для нерегистрации MBean, на который ссылаются в отношении, если непосредственная "чистка" отношений (ищут больше не действительные отношения) должна быть выполнена, или если это будет выполняться только, когда purgeRelations метод явно вызовут. истина является непосредственной чисткой.
public void isActive() throws RelationServiceNotRegisteredException
isActive
в интерфейсе RelationServiceMBean
RelationServiceNotRegisteredException
- если это не регистрируетсяpublic ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
MBeanRegistration
preRegister
в интерфейсе MBeanRegistration
server
- Сервер MBean, в котором будет зарегистрирован MBean.name
- Имя объекта MBean. Это имя является нулем если параметр имени к одному из createMBean
или registerMBean
методы в MBeanServer
интерфейс является нулем. В этом случае этот метод должен возвратить ненулевой ObjectName для нового MBean.name
параметр не является нулем, он обычно будет, но не обязательно быть возвращенным значением.Exception
- Это исключение будет поймано Сервером MBean и повторно брошено как MBeanRegistrationException
.public void postRegister(Boolean registrationDone)
MBeanRegistration
Если реализация этого метода бросает a RuntimeException
или Error
, Сервер MBean повторно бросит тех внутри a RuntimeMBeanException
или RuntimeErrorException
, соответственно. Однако, выдавая исключение в postRegister
не будет изменять состояние MBean: если MBean был уже зарегистрирован (registrationDone
true
), MBean останется зарегистрированным.
Это могло бы сбить с толку вызов кода createMBean()
или registerMBean()
, как таковой кодируют, мог бы предположить, что регистрация MBean перестала работать, когда такое исключение повышается. Поэтому этому рекомендуют это реализации postRegister
не бросайте Исключения на этапе выполнения или Ошибки, если этого можно избежать.
postRegister
в интерфейсе MBeanRegistration
registrationDone
- Указывает, был ли MBean успешно зарегистрирован в сервере MBean. Ложь значения означает, что регистрационная фаза перестала работать.public void preDeregister() throws Exception
MBeanRegistration
preDeregister
в интерфейсе MBeanRegistration
Exception
- Это исключение будет поймано сервером MBean и повторно брошено как MBeanRegistrationException
.public void postDeregister()
MBeanRegistration
Если реализация этого метода бросает a RuntimeException
или Error
, Сервер MBean повторно бросит тех внутри a RuntimeMBeanException
или RuntimeErrorException
, соответственно. Однако, выдавая исключение в postDeregister
не будет изменять состояние MBean: MBean был уже успешно вычеркнут из списка и останется так.
Это могло бы сбить с толку вызов кода unregisterMBean()
, поскольку это могло бы предположить, что MBean deregistration перестал работать. Поэтому этому рекомендуют это реализации postDeregister
не бросайте Исключения на этапе выполнения или Ошибки, если этого можно избежать.
postDeregister
в интерфейсе MBeanRegistration
public boolean getPurgeFlag()
истина является непосредственной чисткой.
getPurgeFlag
в интерфейсе RelationServiceMBean
setPurgeFlag(boolean)
public void setPurgeFlag(boolean purgeFlag)
истина является непосредственной чисткой.
setPurgeFlag
в интерфейсе RelationServiceMBean
purgeFlag
- флагgetPurgeFlag()
public void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
createRelationType
в интерфейсе RelationServiceMBean
relationTypeName
- имя типа отношенияroleInfoArray
- массив роли infosIllegalArgumentException
- если нулевой параметрInvalidRelationTypeException
- Если: - уже есть тип отношения с тем именем
- то же самое имя использовалось для двух различных ролей infos
- никакая ролевая информация не обеспечила
- одна нулевая ролевая информация обеспечила
public void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException
addRelationType
в интерфейсе RelationServiceMBean
relationTypeObj
- объект типа отношения (реализация интерфейса RelationType)IllegalArgumentException
- если нулевой параметр или если relationTypeObj.getRelationTypeName()
нуль возвратов.InvalidRelationTypeException
- если: - то же самое имя использовалось для двух различных ролей
- никакая ролевая информация не обеспечила
- одна нулевая ролевая информация обеспечила
- уже есть тип отношения с тем именем
public List<String> getAllRelationTypeNames()
getAllRelationTypeNames
в интерфейсе RelationServiceMBean
public List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
getRoleInfos
в интерфейсе RelationServiceMBean
relationTypeName
- имя типа отношенияIllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- если нет никакого типа отношения с тем именем.public RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
getRoleInfo
в интерфейсе RelationServiceMBean
relationTypeName
- имя типа отношенияroleInfoName
- имя ролиIllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- если тип отношения не известен в Службе ОтношенияRoleInfoNotFoundException
- если роль не является частью типа отношения.public void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException
Объекты отношения того типа будут удалены из Службы Отношения.
removeRelationType
в интерфейсе RelationServiceMBean
relationTypeName
- имя отношения вводит, чтобы быть удаленнымRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- Если нет никакого типа отношения с тем именемpublic void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
Роли инициализируются согласно ролевому списку, обеспеченному в параметре. Те не инициализированные таким образом устанавливаются в пустой ArrayList ObjectNames.
RelationNotification, с типом RELATION_BASIC_CREATION, отправляется.
createRelation
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения, чтобы идентифицировать уникально отношение в Службе ОтношенияrelationTypeName
- имя типа отношения (должен быть создан в Службе Отношения),roleList
- ролевой список, чтобы инициализировать роли отношения (может быть нуль).RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметр, кроме ролевого списка, который может быть нулем если никакая ролевая инициализацияRoleNotFoundException
- если значение обеспечивается для роли, которая не существует в типе отношенияInvalidRelationIdException
- если идентификатор отношения уже используетсяRelationTypeNotFoundException
- если тип отношения, не известный в Службе ОтношенияInvalidRoleValueException
- если: - то же самое ролевое имя используется для двух различных ролей
- число MBeans, на который ссылаются, в данном значении менее чем ожидается минимальный градус
- число MBeans, на который ссылаются, в обеспеченном значении превышает ожидаемый максимальный градус
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
- MBean, предусмотренный та роль, не существует
public void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
Чтобы быть добавленным как отношение, MBean должен соответствовать следующему:
- реализуйте интерфейс Отношения
- имейте для RelationService ObjectName ObjectName текущей Службы Отношения
- имейте идентификатор отношения, уникальный и неиспользованный в текущей Службе Отношения
- имейте для типа отношения тип отношения, создаваемый в Службе Отношения
- имейте роли, соответствующие ролевой информации, обеспеченной в типе отношения.
addRelation
в интерфейсе RelationServiceMBean
relationObjectName
- ObjectName отношения MBean, который будет добавлен.IllegalArgumentException
- если нулевой параметрRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanNoSuchMethodException
- Если MBean не реализует интерфейс ОтношенияInvalidRelationIdException
- если: - никакой идентификатор отношения в MBean
- идентификатор отношения уже используется в Службе Отношения
InstanceNotFoundException
- если MBean для данного ObjectName не был зарегистрированInvalidRelationServiceException
- если: - никакая Служба Отношения не называет в MBean
- имя Службы Отношения в MBean не является тем текущей Службы Отношения
RelationTypeNotFoundException
- если: - никакое имя типа отношения в MBean
- имя типа отношения в MBean не соответствует типу отношения, создаваемому в Службе Отношения
InvalidRoleValueException
- если: - число MBeans, на который ссылаются, в роли менее чем ожидается минимальный градус
- число MBeans, на который ссылаются, в роли превышает ожидаемый максимальный градус
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
- MBean, предусмотренный роль, не существует
RoleNotFoundException
- если значение обеспечивается для роли, которая не существует в типе отношенияpublic ObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException
isRelationMBean
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения, идентифицирующий отношениеIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- нет никакого отношения, связанного с тем идентификаторомpublic String isRelation(ObjectName objectName) throws IllegalArgumentException
isRelation
в интерфейсе RelationServiceMBean
objectName
- ObjectName воображаемого отношенияIllegalArgumentException
- если нулевой параметрpublic Boolean hasRelation(String relationId) throws IllegalArgumentException
hasRelation
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения, идентифицирующий отношениеIllegalArgumentException
- если нулевой параметрpublic List<String> getAllRelationIds()
getAllRelationIds
в интерфейсе RelationServiceMBean
public Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
checkRoleReading
в интерфейсе RelationServiceMBean
roleName
- имя роли, которая будет проверенаrelationTypeName
- имя типа отношения- 0, если роль может быть считана
- целочисленное соответствие RoleStatus. NO_ROLE_WITH_NAME
- целочисленное соответствие RoleStatus. ROLE_NOT_READABLE
IllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- если тип отношения не известен в Службе Отношенияpublic Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException
checkRoleWriting
в интерфейсе RelationServiceMBean
role
- роль, которая будет проверенаrelationTypeName
- имя типа отношенияinitFlag
- флаг, чтобы определить, что проверка делается для инициализации роли, доступ для записи, не должен быть проверен.- 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
- если нулевой параметрRelationTypeNotFoundException
- если неизвестный тип отношенияpublic void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_CREATION, если отношение является объектом, внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_CREATION, если отношение является MBean, добавленным как отношение.
Исходный объект является Службой Отношения непосредственно.
Это вызывают в Службе Отношения createRelation () и addRelation () методы.
sendRelationCreationNotification
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения обновленного отношенияIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если нет никакого отношения для данного идентификатора отношенияpublic void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldValue) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_UPDATE, если отношение является объектом, внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_UPDATE, если отношение является MBean, добавленным как отношение.
Исходный объект является Службой Отношения непосредственно.
Это вызывают в отношении MBean setRole () (для данной роли) и setRoles () (для каждой роли) методы (реализация, обеспеченная в RelationSupport class).
Это также вызывают в Службе Отношения setRole () (для данной роли) и setRoles () (для каждой роли) методы.
sendRoleUpdateNotification
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения обновленного отношенияnewRole
- новая роль (имя и новое значение)oldValue
- старое ролевое значение (Список объектов ObjectName)IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если нет никакого отношения для данного идентификатора отношенияpublic void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение является объектом, внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение является MBean, добавленным как отношение.
Исходный объект является Службой Отношения непосредственно.
Это вызывают в Службе Отношения removeRelation () метод.
sendRelationRemovalNotification
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения обновленного отношенияunregMBeanList
- Список ObjectNames MBeans, который, как ожидают, будет незарегистрирован из-за удаления отношения (может быть нуль),IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если нет никакого отношения для данного идентификатора отношенияpublic void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
Это вызывают в отношении MBean setRole () (для данной роли) и setRoles () (для каждой роли) методы (реализация, обеспеченная в RelationSupport class).
Это также вызывают в Службе Отношения setRole () (для данной роли) и setRoles () (для каждой роли) методы.
Чтобы позволить Службе Отношения поддерживать непротиворечивость (в случае нерегистрации MBean) и быть в состоянии выполнить запросы, этот метод нужно вызвать, когда роль обновляется.
updateRoleMap
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения обновленного отношенияnewRole
- новая роль (имя и новое значение)oldValue
- старое ролевое значение (Список объектов ObjectName)IllegalArgumentException
- если нулевой параметрRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanRelationNotFoundException
- если никакое отношение для данного идентификатора.public void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Уведомление RelationNotification отправляется, его тип быть:
- RelationNotification.RELATION_BASIC_REMOVAL, если отношение было только внутренним к Службе Отношения
- RelationNotification.RELATION_MBEAN_REMOVAL, если отношение регистрируется как MBean.
Для MBeans, на который ссылаются в таком отношении, ничто не будет сделано,
removeRelation
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношения отношения, которое будет удаленоRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение, соответствующее данному идентификатор отношенияpublic void purgeRelations() throws RelationServiceNotRegisteredException
В зависимости от значения purgeFlag этот метод или вызывают автоматически, когда уведомление получается для нерегистрации MBean, на который ссылаются в отношении (если флаг устанавливается в истину), или не (если флаг устанавливается в ложь).
В этом случае это до пользователя, чтобы вызвать это, чтобы поддержать непротиворечивость отношений. Чтобы быть учтенным что, если MBean незарегистрирован и чистка, не сделанная сразу, если ObjectName снова используется и присваивается другому MBean, на который ссылаются в отношении, вызывая вручную этот purgeRelations (), метод доставит неприятности, как рассмотрит ObjectName как соответствие незарегистрированному MBean, не видя новый.
Поведение зависит от количества элементов роли, где на незарегистрированный MBean ссылаются:
- если удаление одной ссылки MBean в роли делает свое число ссылок меньше чем минимальный градус, отношение должно быть удалено.
- если остающееся число ссылок после удаления ссылки MBean находится все еще в диапазоне количества элементов, сохраните отношение и обновите его вызывающий его handleMBeanUnregistration () обратный вызов.
purgeRelations
в интерфейсе RelationServiceMBean
RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBean.public Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует "Ссылкам" CIM и операциям "ReferenceNames".
findReferencingRelations
в интерфейсе RelationServiceMBean
mbeanName
- ObjectName MBeanrelationTypeName
- может быть нуль; если определено, только отношения того типа рассмотрят в поиске. Еще все типы отношения рассматривают.roleName
- может быть нуль; если определено, только отношения, где на MBean ссылаются в той роли, будут возвращены. Еще все роли рассматривают.IllegalArgumentException
- если нулевой параметрpublic Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException
Это соответствует CIM Associators и операциям AssociatorNames.
findAssociatedMBeans
в интерфейсе RelationServiceMBean
mbeanName
- ObjectName MBeanrelationTypeName
- может быть нуль; если определено, только отношения того типа рассмотрят в поиске. Еще все типы отношения рассматривают.roleName
- может быть нуль; если определено, только отношения, где на MBean ссылаются в той роли, рассмотрят. Еще все роли рассматривают.IllegalArgumentException
- если нулевой параметрpublic List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException
findRelationsOfType
в интерфейсе RelationServiceMBean
relationTypeName
- имя типа отношенияIllegalArgumentException
- если нулевой параметрRelationTypeNotFoundException
- если нет никакого типа отношения с тем именем.public List<ObjectName> getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
getRole
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияroleName
- имя ролиRelationServiceNotRegisteredException
- если Служба Отношения не регистрируетсяIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если: - нет никакой роли с именем
или
- роль не читаема.
setRole(java.lang.String, javax.management.relation.Role)
public RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
getRoles
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияroleNameArray
- массив имен ролей, которые будут полученыRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомsetRoles(java.lang.String, javax.management.relation.RoleList)
public RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
getAllRoles
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатораRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanpublic Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
getRoleCardinality
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияroleName
- имя ролиIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если нет никакой роли с именемpublic void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException
Проверит роль согласно ее соответствующему ролевому определению, обеспеченному в типе отношения отношения
Служба Отношения отследит изменение, чтобы сохранить непротиворечивость отношений, обрабатывая, сослался на нерегистрацию MBean.
setRole
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияrole
- роль, которая будет определена (имя и новое значение)RelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомRoleNotFoundException
- если роль не существует или не перезаписываемаInvalidRoleValueException
- если значение, предусмотренное роль, не допустимо: - число MBeans, на который ссылаются, в данном значении менее чем ожидается минимальный градус
или
- число MBeans, на который ссылаются, в обеспеченном значении превышает ожидаемый максимальный градус
или
- один сослался на MBean в значении, не Объект class MBean, ожидаемого для той роли
или
- MBean, предусмотренный та роль, не существует
getRole(java.lang.String, java.lang.String)
public RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException
Проверит роль согласно ее соответствующему ролевому определению, обеспеченному в типе отношения отношения
Служба Отношения отслеживает изменения, чтобы сохранить непротиворечивость отношений, обрабатывая, сослался на нерегистрацию MBean.
setRoles
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияroleList
- список ролей, которые будут установленыRelationServiceNotRegisteredException
- если Служба Отношения не регистрируется в Сервере MBeanIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение с данным идентификаторомgetRoles(java.lang.String, java.lang.String[])
public Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException
getReferencedMBeans
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияObjectName-> ArrayList Строки (ролевые имена)
IllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатора отношенияpublic String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException
getRelationTypeName
в интерфейсе RelationServiceMBean
relationId
- идентификатор отношенияIllegalArgumentException
- если нулевой параметрRelationNotFoundException
- если никакое отношение для данного идентификатора отношенияpublic void handleNotification(Notification notif, Object handback)
handleNotification
в интерфейсе NotificationListener
notif
- Уведомление.handback
- Непрозрачный объект, который помогает слушателю связать информацию относительно эмиттера MBean (может быть нуль).public MBeanNotificationInfo[] getNotificationInfo()
getNotificationInfo
в интерфейсе NotificationBroadcaster
getNotificationInfo
в class NotificationBroadcasterSupport
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92