Spec-Zone .ru
спецификации, руководства, описания, API
|
Интерфейс | Описание |
---|---|
Отношение |
Этот интерфейс должен быть реализован любым классом MBean, который, как ожидают, будет представлять управляемое использование отношения Службы Отношения.
|
RelationServiceMBean |
Служба Отношения отвечает за создание и удаление типов отношения и отношений за обработку непротиворечивости и обеспечения механизмов запроса.
|
RelationSupportMBean |
Объект RelationSupport используется внутренне Службой Отношения, чтобы представить простые отношения (только роли, никакие свойства или методы), с неограниченным количеством ролей, любого типа отношения.
|
RelationType |
Интерфейс RelationType должен быть реализован любым классом, который, как ожидают, будет представлять тип отношения.
|
Класс | Описание |
---|---|
MBeanServerNotificationFilter |
Фильтр для
MBeanServerNotification . |
RelationNotification |
Уведомление об изменении в Службе Отношения.
|
RelationService |
Служба Отношения отвечает за создание и удаление типов отношения и отношений за обработку непротиворечивости и обеспечения механизмов запроса.
|
RelationSupport |
Объект RelationSupport используется внутренне Службой Отношения, чтобы представить простые отношения (только роли, никакие свойства или методы), с неограниченным количеством ролей, любого типа отношения.
|
RelationTypeSupport |
Объект RelationTypeSupport реализует интерфейс RelationType.
|
Роль |
Представляет роль: включает ролевое имя и MBeans, на который ссылаются (через их ObjectNames).
|
RoleInfo |
Объект RoleInfo суммирует роль в типе отношения.
|
RoleList |
RoleList представляет список ролей (Ролевые объекты).
|
RoleResult |
Представляет результат многократного доступа к нескольким ролям отношения (или для чтения или для записи).
|
RoleStatus |
Этот класс описывает различные проблемы, с которыми можно встретиться, получая доступ к роли.
|
RoleUnresolved |
Представляет неразрешенную роль: роль, не полученная от отношения из-за проблемы.
|
RoleUnresolvedList |
RoleUnresolvedList представляет список объектов RoleUnresolved, представляя роли, не полученные от отношения из-за проблемы, с которой встречаются, пытаясь получить доступ (чтение или запись) к ролям.
|
Исключение | Описание |
---|---|
InvalidRelationIdException |
Это исключение повышается, когда идентификатор отношения, предусмотренный отношение, уже используется.
|
InvalidRelationServiceException |
Это исключение повышается, когда недопустимая Услуга Отношения предоставляется.
|
InvalidRelationTypeException |
Недопустимый тип отношения.
|
InvalidRoleInfoException |
Это исключение повышается, когда в ролевой информации ее минимальный градус больше чем ее максимальный градус.
|
InvalidRoleValueException |
Ролевое значение недопустимо.
|
RelationException |
Этот класс является суперклассом любого исключения, которое может быть повышено во время управления отношением.
|
RelationNotFoundException |
Это исключение повышается, когда нет никакого отношения для данного идентификатора отношения в Службе Отношения.
|
RelationServiceNotRegisteredException |
Это исключение повышается, когда доступ делается к Службе Отношения и что каждый не регистрируется.
|
RelationTypeNotFoundException |
Это исключение повышается, когда нет никакого типа отношения с именем в Службе Отношения.
|
RoleInfoNotFoundException |
Это исключение повышается, когда нет никакой ролевой информации с именем в данном типе отношения.
|
RoleNotFoundException |
Это исключение повышается, когда роль в отношении не существует, или не читаема, или не устанавливаема.
|
Обеспечивает определение Службы Отношения. Служба Отношения используется, чтобы записать отношения между MBeans в Сервере MBean. Служба Отношения является самостоятельно MBean. Больше чем один экземпляр a RelationService
MBean может быть зарегистрирован в Сервере MBean.
Тип отношения определяет отношение между MBeans. Это содержит роли, которые MBeans играют в отношении. Обычно есть по крайней мере две роли в типе отношения.
Отношение является именованным экземпляром типа отношения, где определенный MBeans появляются в ролях, представленных их ObjectName
s.
Например, предположите, что есть Module
MBeans, представляя модули в пределах приложения. A DependsOn
тип отношения мог выразить отношение, что некоторые модули зависят от других, которые могли использоваться, чтобы определить порядок, в котором модули запускаются или останавливаются. DependsOn
у типа отношения было бы две роли, dependent
и dependedOn
.
Каждая роль вводится, означая, что MBean, который появляется в той роли, должен быть экземпляром типа роли. В DependsOn
пример, обе роли имели бы тип Module
.
У каждой роли есть количество элементов, которое обеспечивает нижние и верхние границы на числе MBeans, который может появиться в той роли в приведенном примере отношения. Обычно, нижние и верхние границы оба 1 точно с одним MBean, появляющимся в роли. Количество элементов только ограничивает число MBeans в роли на экземпляр отношения. Тот же самый MBean может появиться в той же самой роли в любом числе экземпляров типа отношения. В DependsOn
пример, данный модуль может зависеть от многих других модулей, и зависеться от многими другими, но любой приведенный пример отношения соединяется точно один dependent
модуль точно с один dependedOn
модуль.
Тип отношения может быть создан явно как объект, реализовывая RelationType
интерфейс, обычно a RelationTypeSupport
. Альтернативно, это может быть создано, неявно используя Службу Отношения createRelationType
метод.
Экземпляр отношения может быть создан явно как объект, реализовывая Relation
интерфейс, обычно a RelationSupport
. (A RelationSupport
самостоятельно допустимый MBean, таким образом, он может быть зарегистрирован в Сервере MBean, хотя это не требуется.) Альтернативно, экземпляр отношения может быть создан, неявно используя Службу Отношения createRelation
метод.
DependsOn
пример мог бы быть кодирован следующим образом.
import java.util.*; import javax.management.*; import javax.management.relation.*; // ... MBeanServer mbs = ...; // Create the Relation Service MBean ObjectName relSvcName = new ObjectName(":type=RelationService"); RelationService relSvcObject = new RelationService(true); mbs.registerMBean(relSvcObject, relSvcName); // Create an MBean proxy for easier access to the Relation Service RelationServiceMBean relSvc = MBeanServerInvocationHandler.newProxyInstance(mbs, relSvcName, RelationServiceMBean.class, false); // Define the DependsOn relation type RoleInfo[] dependsOnRoles = { new RoleInfo("dependent", Module.class.getName()), new RoleInfo("dependedOn", Module.class.getName()) }; relSvc.createRelationType("DependsOn", dependsOnRoles); // Now define a relation instance "moduleA DependsOn moduleB" ObjectName moduleA = new ObjectName(":type=Module,name=A"); ObjectName moduleB = new ObjectName(":type=Module,name=B"); Role dependent = new Role("dependent", Collections.singletonList(moduleA)); Role dependedOn = new Role("dependedOn", Collections.singletonList(moduleB)); Role[] roleArray = {dependent, dependedOn}; RoleList roles = new RoleList(Arrays.asList(roleArray)); relSvc.createRelation("A-DependsOn-B", "DependsOn", roles); // Query the Relation Service to find what modules moduleA depends on Map<ObjectName,List<String>> dependentAMap = relSvc.findAssociatedMBeans(moduleA, "DependsOn", "dependent"); Set<ObjectName> dependentASet = dependentAMap.keySet(); // Set of ObjectName containing moduleB
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.