|
Spec-Zone .ru
спецификации, руководства, описания, API
|
| Интерфейс | Описание |
|---|---|
| Отношение |
Этот интерфейс должен быть реализован любым class MBean, который, как ожидают, будет представлять управляемое использование отношения Службы Отношения.
|
| RelationServiceMBean |
Служба Отношения отвечает за создание и удаление типов отношения и отношений за обработку непротиворечивости и обеспечения механизмов запроса.
|
| RelationSupportMBean |
Объект RelationSupport используется внутренне Службой Отношения, чтобы представить простые отношения (только роли, никакие свойства или методы), с неограниченным количеством ролей, любого типа отношения.
|
| RelationType |
Интерфейс RelationType должен быть реализован любым class, который, как ожидают, будет представлять тип отношения.
|
| Класс | Описание |
|---|---|
| MBeanServerNotificationFilter |
Фильтр для
MBeanServerNotification. |
| RelationNotification |
Уведомление об изменении в Службе Отношения.
|
| RelationService |
Служба Отношения отвечает за создание и удаление типов отношения и отношений за обработку непротиворечивости и обеспечения механизмов запроса.
|
| RelationSupport |
Объект RelationSupport используется внутренне Службой Отношения, чтобы представить простые отношения (только роли, никакие свойства или методы), с неограниченным количеством ролей, любого типа отношения.
|
| RelationTypeSupport |
Объект RelationTypeSupport реализует интерфейс RelationType.
|
| Роль |
Представляет роль: включает ролевое имя и MBeans, на который ссылаются (через их ObjectNames).
|
| RoleInfo |
Объект RoleInfo суммирует роль в типе отношения.
|
| RoleList |
RoleList представляет список ролей (Ролевые объекты).
|
| RoleResult |
Представляет результат многократного доступа к нескольким ролям отношения (или для чтения или для записи).
|
| RoleStatus |
Этот class описывает различные проблемы, с которыми можно встретиться, получая доступ к роли.
|
| RoleUnresolved |
Представляет неразрешенную роль: роль, не полученная от отношения из-за проблемы.
|
| RoleUnresolvedList |
RoleUnresolvedList представляет список объектов RoleUnresolved, представляя роли, не полученные от отношения из-за проблемы, с которой встречаются, пытаясь получить доступ (чтение или запись) к ролям.
|
| Исключение | Описание |
|---|---|
| InvalidRelationIdException |
Это исключение повышается, когда идентификатор отношения, предусмотренный отношение, уже используется.
|
| InvalidRelationServiceException |
Это исключение повышается, когда недопустимая Услуга Отношения предоставляется.
|
| InvalidRelationTypeException |
Недопустимый тип отношения.
|
| InvalidRoleInfoException |
Это исключение повышается, когда в ролевой информации ее минимальный градус больше чем ее максимальный градус.
|
| InvalidRoleValueException |
Ролевое значение недопустимо.
|
| RelationException |
Этот class является суперклассом любого исключения, которое может быть повышено во время управления отношением.
|
| RelationNotFoundException |
Это исключение повышается, когда нет никакого отношения для данного идентификатора отношения в Службе Отношения.
|
| RelationServiceNotRegisteredException |
Это исключение повышается, когда доступ делается к Службе Отношения и что каждый не регистрируется.
|
| RelationTypeNotFoundException |
Это исключение повышается, когда нет никакого типа отношения с именем в Службе Отношения.
|
| RoleInfoNotFoundException |
Это исключение повышается, когда нет никакой ролевой информации с именем в данном типе отношения.
|
| RoleNotFoundException |
Это исключение повышается, когда роль в отношении не существует, или не читаема, или не устанавливаема.
|
Обеспечивает определение Службы Отношения. Служба Отношения используется, чтобы записать отношения между MBeans в Сервере MBean. Служба Отношения является самостоятельно MBean. Больше чем один экземпляр a RelationService MBean может быть зарегистрирован в Сервере MBean.
Тип отношения определяет отношение между MBeans. Это содержит роли, которые MBeans играют в отношении. Обычно есть по крайней мере две роли в типе отношения.
Отношение является именованным экземпляром типа отношения, где определенный MBeans появляются в ролях, представленных их ObjectNames.
Например, предположите, что есть 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 и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92