Spec-Zone.ru › OpenJDK 8

Класс RequiredModelMBean

  • java.lang.Object
    • javax.management.modelmbean.RequiredModelMBean
Все реализованные интерфейсы:
DynamicMBean, MBeanRegistration, ModelMBean, ModelMBeanNotificationBroadcaster, NotificationBroadcaster, NotificationEmitter, PersistentMBean

public class RequiredModelMBean
extends Object
implements ModelMBean, MBeanRegistration, NotificationEmitter

Этот класс является реализацией ModelMBean. Соответствующая реализация ModelMBean должна быть включена в каждый JMX Agent, и класс должен называться RequiredModelMBean.

Java-ресурсы, которые хотят быть управляемыми, создают экземпляр RequiredModelMBean, используя метод createMBean сервера MBean. Затем ресурс устанавливает MBeanInfo и Descriptors для экземпляра RequiredModelMBean. Атрибуты и операции, доступные через ModelMBeanInfo для ModelMBean, доступны из MBean, коннекторов/адаптеров, как и другие MBean. Через Descriptors можно определять и сопоставлять значения и методы в управляемом приложении с атрибутами и операциями ModelMBean. Это сопоставление может быть определено в файле формата XML или динамически и программно во время выполнения.

Каждый экземпляр RequiredModelMBean, созданный в сервере MBean, становится управляемым: его атрибуты и операции становятся удаленно доступными через коннекторы/адаптеры, подключенные к этому серверу MBean.

Java-объект не может быть зарегистрирован в сервере MBean, если он не является совместимым с JMX MBean. Создавая экземпляр RequiredModelMBean, ресурсы гарантируют, что MBean является валидным. MBeanException и RuntimeOperationsException должны быть выброшены для каждого публичного метода. Это позволяет оборачивать исключения из распределенных коммуникаций (RMI, EJB и т.д.).

С тех пор:
1.5

Конструкторы

Конструктор и описание
RequiredModelMBean()

Создаёт экземпляр RequiredModelMBean с пустым ModelMBeanInfo.

RequiredModelMBean(ModelMBeanInfo mbi)

Создаёт объект RequiredModelMBean, используя переданный ModelMBeanInfo.

Методы

Модификатор и тип Метод и описание
void addAttributeChangeNotificationListener(NotificationListener inlistener, String inAttributeName, Object inhandback)

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя.

void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя.

Object getAttribute(String attrName)

Возвращает значение определенного атрибута для данного ModelMBean.

AttributeList getAttributes(String[] attrNames)

Возвращает значения нескольких атрибутов в ModelMBean.

protected ClassLoaderRepository getClassLoaderRepository()

Возвращает хранилище загрузчика классов, используемое для загрузки классов.

MBeanInfo getMBeanInfo()

Возвращает атрибуты, операции, конструкторы и уведомления, которые этот RequiredModelMBean предоставляет для управления.

MBeanNotificationInfo[] getNotificationInfo()

Возвращает массив уведомлений, всегда генерируемых RequiredModelMBean.

Object invoke(String opName, Object[] opArgs, String[] sig)

Вызывает метод на или через RequiredModelMBean и возвращает результат выполнения метода.

void load()

Создаёт экземпляр этого MBean с данными, найденными для MBean в постоянном хранилище.

void postDeregister()

Позволяет MBean выполнить все необходимые операции после его отмены регистрации в сервере MBean.

void postRegister(Boolean registrationDone)

Позволяет MBean выполнить все необходимые операции после его регистрации в сервере MBean или после неудачной регистрации.

void preDeregister()

Позволяет MBean выполнить необходимые операции перед его отменой регистрации сервером MBean.

ObjectName preRegister(MBeanServer server, ObjectName name)

Позволяет MBean выполнить необходимые операции перед его регистрацией в сервере MBean.

void removeAttributeChangeNotificationListener(NotificationListener inlistener, String inAttributeName)

Удаляет слушателя уведомлений о изменениях атрибутов из RequiredModelMBean.

void removeNotificationListener(NotificationListener listener)

Удаляет слушателя уведомлений из RequiredModelMBean.

void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)

Удаляет слушателя из этого MBean.

void sendAttributeChangeNotification(Attribute inOldVal, Attribute inNewVal)

Отправляет уведомление о изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибута в ModelMBean.

void sendAttributeChangeNotification(AttributeChangeNotification ntfyObj)

Отправляет уведомление об изменении атрибута, переданное в него, зарегистрированным слушателям уведомлений об изменении атрибута в ModelMBean.

void sendNotification(Notification ntfyObj)

Отправляет уведомление, переданное в него, зарегистрированным слушателям уведомлений ModelMBean как уведомление jmx.modelmbean.generic.

void sendNotification(String ntfyText)

Отправляет уведомление, содержащее переданную текстовую строку, зарегистрированным слушателям уведомлений ModelMBean.

void setAttribute(Attribute attribute)

Устанавливает значение определенного атрибута именованного ModelMBean.

AttributeList setAttributes(AttributeList attributes)

Устанавливает значения массива атрибутов данного ModelMBean.

void setManagedResource(Object mr, String mr_type)

Устанавливает дескриптор объекта, к которому будут выполняться все методы в этом интерфейсе управления ModelMBean (MBeanInfo и Descriptors).

void setModelMBeanInfo(ModelMBeanInfo mbi)

Инициализирует объект ModelMBean, используя переданный ModelMBeanInfo.

void store()

Захватывает текущее состояние экземпляра этого MBean и записывает его в постоянное хранилище.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

RequiredModelMBean

public RequiredModelMBean()
                   throws MBeanException,
                          RuntimeOperationsException

Создаёт RequiredModelMBean с пустым ModelMBeanInfo.

MBeanInfo и Дескрипторы RequiredModelMBean можно настроить, используя метод setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo). После настройки MBeanInfo и Дескрипторов, RequiredModelMBean можно зарегистрировать в MBeanServer.

Возбуждает:
MBeanException - Оборачивает исключение распределённой коммуникации.
RuntimeOperationsException - Оборачивает RuntimeException во время создания объекта.

RequiredModelMBean

public RequiredModelMBean(ModelMBeanInfo mbi)
                   throws MBeanException,
                          RuntimeOperationsException

Создаёт объект RequiredModelMBean, используя переданный ModelMBeanInfo. Пока RequiredModelMBean не зарегистрирован в MBeanServer, его MBeanInfo и Дескрипторы можно настроить, используя метод setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo). После настройки MBeanInfo и Дескрипторов, RequiredModelMBean можно зарегистрировать в MBeanServer.

Параметры:
mbi - Объект ModelMBeanInfo, который будет использоваться RequiredModelMBean. Переданный ModelMBeanInfo клонируется и изменяется в соответствии с setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)
Возбуждает:
MBeanException - Оборачивает исключение распределённой коммуникации.
RuntimeOperationsException - Оборачивает {link java.lang.IllegalArgumentException}: Переданный в параметре MBeanInfo равен null.

Методы

setModelMBeanInfo

public void setModelMBeanInfo(ModelMBeanInfo mbi)
                       throws MBeanException,
                              RuntimeOperationsException

Инициализирует объект ModelMBean, используя переданный ModelMBeanInfo. Этот метод позволяет установить настроенный ModelMBeanInfo для ModelMBean, пока он не зарегистрирован в MBeanServer.
После настройки ModelMBeanInfo (с Дескрипторами) для ModelMBean, ModelMBean можно зарегистрировать в MBeanServer.

Если ModelMBean уже зарегистрирован, этот метод возбуждает RuntimeOperationsException, оборачивая IllegalStateException

Если переданный inModelMBeanInfo не содержит ни одного ModelMBeanNotificationInfo для уведомлений GENERIC или ATTRIBUTE_CHANGE, то RequiredModelMBean предоставит свои собственные значения по умолчанию для этих уведомлений.

Определено в:
setModelMBeanInfo в интерфейсе ModelMBean
Параметры:
mbi - Объект ModelMBeanInfo, который будет использоваться ModelMBean.
Возбуждает:
MBeanException - Оборачивает исключение распределённой коммуникации.
RuntimeOperationsException -
  • Оборачивает IllegalArgumentException, если переданный MBeanInfo равен null.
  • Оборачивает IllegalStateException, если ModelMBean уже зарегистрирован в MBeanServer.

setManagedResource

public void setManagedResource(Object mr,
                               String mr_type)
                        throws MBeanException,
                               RuntimeOperationsException,
                               InstanceNotFoundException,
                               InvalidTargetObjectTypeException

Устанавливает обработчик экземпляра объекта, для которого будут выполняться все методы в этом интерфейсе управления ModelMBean (MBeanInfo и Дескрипторы).

Определено в:
setManagedResource в интерфейсе ModelMBean
Параметры:
mr - Объект, представляющий управляемый ресурс
mr_type - Тип ссылки на управляемый ресурс.
Может быть: "ObjectReference", "Handle", "IOR", "EJBHandle" или "RMIReference".
В этой реализации поддерживается только "ObjectReference".
Возбуждает:
MBeanException - Инициализатор объекта бросил исключение.
InstanceNotFoundException - Управляемый ресурс не найден
InvalidTargetObjectTypeException - Тип управляемого ресурса должен быть "ObjectReference".
RuntimeOperationsException - Оборачивает RuntimeException при установке ресурса.

load

public void load()
          throws MBeanException,
                 RuntimeOperationsException,
                 InstanceNotFoundException

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

Этот метод должен вызываться во время создания или инициализации этого экземпляра и до регистрации MBean в MBeanServer.

Если реализация этого класса не поддерживает сохранение, бросается MBeanException, оборачивая ServiceNotFoundException.

Определено в:
load в интерфейсе PersistentMBean
Возбуждает:
MBeanException - Оборачивает другое исключение или сохранение не поддерживается
RuntimeOperationsException - Оборачивает исключения из механизма сохранения
InstanceNotFoundException - Этот MBean не найден или не загружен из постоянного хранилища

store

public void store()
           throws MBeanException,
                  RuntimeOperationsException,
                  InstanceNotFoundException

Захватывает текущее состояние этого экземпляра MBean и записывает его в постоянное хранилище. Сохранённое состояние может включать значения атрибутов и операций.

Если реализация этого класса не поддерживает сохранение, бросается MBeanException, оборачивая ServiceNotFoundException.

Политика сохранения из MBean и дескриптора атрибута используется для руководства выполнением этого метода. MBean должен быть сохранён, если поле 'persistPolicy' имеет:

!= "never"
   = "always"
   = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
   = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
   = "onUnregister"

Не сохранять MBean, если поле 'persistPolicy' имеет:

= "never"
    = "onUpdate"
    = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
Определено в:
store в интерфейсе PersistentMBean
Возбуждает:
MBeanException - Оборачивает другое исключение или сохранение не поддерживается
RuntimeOperationsException - Оборачивает исключения из механизма сохранения
InstanceNotFoundException - Не удалось найти/доступ к постоянному хранилищу

getMBeanInfo

public MBeanInfo getMBeanInfo()

Возвращает атрибуты, операции, конструкторы и уведомления, которые этот RequiredModelMBean предоставляет для управления.

Определено в:
getMBeanInfo в интерфейсе DynamicMBean
Возвращает:
Экземпляр ModelMBeanInfo, позволяющий получить доступ ко всем атрибутам, операциям и уведомлениям этого MBean.

invoke

public Object invoke(String opName,
                     Object[] opArgs,
                     String[] sig)
              throws MBeanException,
                     ReflectionException

Вызывает метод на или через RequiredModelMBean и возвращает результат выполнения метода.

Если заданный метод для вызова, вместе с предоставленной сигнатурой, соответствует одному из доступных методов RequiredModelMbean, то он будет вызван. В противном случае вызов заданного метода будет выполнен на управляемом ресурсе.

Последнее возвращаемое значение операции может быть кэшировано в дескрипторе операции, который находится в дескрипторе ModelMBeanOperationInfo. Значение будет находиться в поле 'value', если оно существует. Если поле 'currencyTimeLimit' в дескрипторе:

  • <0 Тогда значение не кэшируется и никогда не является действительным. Вызывается метод операции. Поля 'value' и 'lastUpdatedTimeStamp' очищаются.
  • =0 Тогда значение всегда кэшируется и всегда действительное. Возвращается поле 'value'. Если поле 'value' отсутствует, тогда метод операции вызывается для атрибута. Поля 'lastUpdatedTimeStamp' и 'value' устанавливаются в возвращаемое значение операции и текущую метку времени.
  • >0 Представляет количество секунд, в течение которого поле 'value' является действительным. Поле 'value' больше недействительно, когда 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Сейчас.
    • Если 'value' действителен, возвращается 'value'.
    • Если 'value' больше не действителен, тогда вызывается метод операции. Поля 'lastUpdatedTimeStamp' и 'value' обновляются.

Примечание: из-за несоответствий в предыдущих версиях этого спецификации, рекомендуется не использовать отрицательные или нулевые значения для currencyTimeLimit. Чтобы указать, что кэшированное значение никогда недействительно, опустите поле currencyTimeLimit. Чтобы указать, что оно всегда действительное, используйте очень большое число для этого поля.

Определено в:
invoke в интерфейсе DynamicMBean
Параметры:
opName - Имя вызываемого метода. Имя может быть полным именем метода, включая имя класса, или просто именем метода, если имя класса определено в поле 'class' дескриптора операции.
opArgs - Массив, содержащий параметры, которые будут установлены при вызове операции
sig - Массив, содержащий сигнатуру операции. Объекты классов будут загружены с помощью того же загрузчика классов, что и тот, который использовался для загрузки MBean, на котором была вызвана операция.
Возвращает:
Объект, возвращённый методом, представляющий результат вызова метода на указанном управляемом ресурсе.
Возбуждает:
MBeanException - Оборачивает одно из следующих исключений:
  • Исключение, брошенное вызываемым методом управляемого объекта.
  • ServiceNotFoundException: Нет ModelMBeanOperationInfo или нет дескриптора, определённого для указанной операции, или управляемый ресурс равен null.
  • InvalidTargetObjectTypeException: Значение поля 'targetType' не равно 'objectReference'.
ReflectionException - Оборачивает Exception, брошенное при попытке вызова метода.
RuntimeOperationsException - Оборачивает IllegalArgumentException Имя метода равно null.

getAttribute

public Object getAttribute(String attrName)
                    throws AttributeNotFoundException,
                           MBeanException,
                           ReflectionException

Возвращает значение определенного атрибута, заданного для данного ModelMBean. Последнее возвращенное значение атрибута может быть кэшировано в описателе атрибута. Действительное значение будет в поле 'value', если оно есть. Если поле 'currencyTimeLimit' в описателе:

  • <0 Тогда значение не кэшируется и никогда не является действительным. Метод-геттер вызывается для атрибута. Поля 'value' и 'lastUpdatedTimeStamp' очищаются.
  • =0 Тогда значение всегда кэшируется и всегда действительное. Возвращается поле 'value'. Если поля 'value' нет, то вызывается метод-геттер для атрибута. Поля 'lastUpdatedTimeStamp' и 'value' устанавливаются в значение атрибута и текущую метку времени.
  • >0 Представляет количество секунд, в течение которого поле 'value' является действительным. Поле 'value' больше не является действительным, когда 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Текущее время.
    • Когда 'value' действителен, возвращается 'value'.
    • Когда 'value' больше не действителен, вызывается метод-геттер для атрибута. Поля 'lastUpdatedTimeStamp' и 'value' обновляются.

Примечание: из-за несоответствий в предыдущих версиях этого спецификации рекомендуется не использовать отрицательные или нулевые значения для currencyTimeLimit. Чтобы указать, что кэшированное значение никогда не является действительным, опустите поле currencyTimeLimit. Чтобы указать, что оно всегда действительное, используйте очень большое число для этого поля.

Если поле 'getMethod' содержит имя действительного описателя операции, то описываемый этим описателем операции метод выполняется. Ответ метода возвращается в качестве значения атрибута. Если операция завершается ошибкой или возвращаемое значение несовместимо с объявленным типом атрибута, будет выброшено исключение.

Если поле 'getMethod' не определено, возвращается значение по умолчанию атрибута. Если возвращаемое значение несовместимо с объявленным типом атрибута, будет выброшено исключение.

Объявленный тип атрибута — это строка, возвращаемая MBeanAttributeInfo.getType(). Значение совместимо с этим типом, если выполняется одно из следующих условий:

  • значение равно null;
  • объявленное имя является именем примитивного типа (например, "int"), а значение является экземпляром соответствующего обертывающего типа (например, java.lang.Integer);
  • имя класса значения идентично объявленному имени;
  • объявленное имя может быть загружено загрузчиком класса значения и порождает класс, которому может быть назначено значение.

В этой реализации в каждом случае, когда необходимо вызвать getMethod, поскольку метод вызывается через стандартный метод "invoke" и, следовательно, требует operationInfo, для этого getMethod должна быть указана операция, чтобы вызов работал корректно.

Определено в:
getAttribute в интерфейсе DynamicMBean
Параметры:
attrName - Строка, определяющая имя атрибута для извлечения. Оно должно совпадать с именем ModelMBeanAttributeInfo.
Возвращает:
Значение извлеченного атрибута из поля 'value' описателя или из вызова операции в поле 'getMethod' описателя.
Использует:
AttributeNotFoundException - Указанный атрибут недоступен в MBean. Следующие случаи могут привести к AttributeNotFoundException:
  • Не найдено ModelMBeanInfo для Model MBean.
  • Не найдено ModelMBeanAttributeInfo для указанного имени атрибута.
  • Метод ModelMBeanAttributeInfo isReadable возвращает 'false'.
MBeanException - Оборачивает одно из следующих исключений:
  • InvalidAttributeValueException: Неверный тип значения получен от метода-геттера атрибута или поле 'getMethod' не определено в описателе для атрибута и нет значения по умолчанию.
  • ServiceNotFoundException: Не определено ModelMBeanOperationInfo для метода-геттера атрибута или нет описателя, связанного с ModelMBeanOperationInfo, или управляемый ресурс равен null.
  • InvalidTargetObjectTypeException Значение поля 'targetType' не равно 'objectReference'.
  • Исключение, сгенерированное методом-геттером управляемого объекта.
ReflectionException - Оборачивает Exception, сгенерированное при попытке вызова геттера.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Имя атрибута в параметре равно null.
См. также:
setAttribute(javax.management.Attribute)

getAttributes

public AttributeList getAttributes(String[] attrNames)

Возвращает значения нескольких атрибутов в ModelMBean. Выполняет getAttribute для каждого имени атрибута в массиве attrNames.

Определено в:
getAttributes в интерфейсе DynamicMBean
Параметры:
attrNames - Массив строк с именами атрибутов для извлечения.
Возвращает:
Массив извлеченных атрибутов.
Использует:
RuntimeOperationsException - Оборачивает IllegalArgumentException: Имя объекта в параметре равно null или массив атрибутов в параметре равно null.
См. также:
setAttributes(javax.management.AttributeList)

setAttribute

public void setAttribute(Attribute attribute)
                  throws AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException

Устанавливает значение определенного атрибута именованного ModelMBean. Если поле 'setMethod' в описателе атрибута содержит имя действительного описателя операции, то метод, описанный этим описателем операции, выполняется. В этой реализации описатель операции должен быть правильно указан и назначен modelMBeanInfo, чтобы 'setMethod' работал корректно. Ответ метода устанавливается в качестве значения атрибута в описателе.

Если currencyTimeLimit > 0, то новое значение атрибута кэшируется в поле 'value' описателя атрибута, а поле 'lastUpdatedTimeStamp' устанавливается в текущую метку времени.

Если поле persist описателя атрибута не равно null, то применяется политика сохранения из описателя атрибута для сохранения атрибута в постоянном хранилище.
Сохранить MBean, если поле 'persistPolicy':

  • != "never"
  • = "always"
  • = "onUpdate"
  • = "onTimer" и текущее время > 'lastPersistTime' + 'persistPeriod'
  • = "NoMoreOftenThan" и текущее время > 'lastPersistTime' + 'persistPeriod'
Не сохранять MBean, если поле 'persistPolicy':
  • = "never"
  • = = "onTimer" && текущее время < 'lastPersistTime' + 'persistPeriod'
  • = "onUnregister"
  • = = "NoMoreOftenThan" и текущее время < 'lastPersistTime' + 'persistPeriod'

ModelMBeanInfo Model MBean хранится в файле.

Определено в:
setAttribute в интерфейсе DynamicMBean
Параметры:
attribute - Экземпляр Attribute, содержащий имя атрибута для установки и значение, на которое он должен быть установлен.
Использует:
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
Следующие случаи могут привести к AttributeNotFoundException:
  • Не найдено ModelMBeanAttributeInfo для указанного атрибута.
  • Метод isWritable ModelMBeanAttributeInfo возвращает 'false'.
InvalidAttributeValueException - Описатель не определен для указанного атрибута.
MBeanException - Оборачивает одно из следующих исключений:
  • Исключение, сгенерированное методом-сеттером управляемого объекта.
  • ServiceNotFoundException если поле setMethod определено в описателе для атрибута и управляемый ресурс равен null; или если поле setMethod не определено и кэширование не включено для атрибута. Обратите внимание, что если поле getMethod также отсутствует, кэширование автоматически включается.
  • InvalidTargetObjectTypeException Значение поля 'targetType' не равно 'objectReference'.
  • Исключение, сгенерированное методом-геттером управляемого объекта.
ReflectionException - Оборачивает Exception, сгенерированное при попытке вызова сеттера.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Атрибут в параметре равен null.
См. также:
getAttribute(java.lang.String)

setAttributes

public AttributeList setAttributes(AttributeList attributes)

Устанавливает значения массива атрибутов данного ModelMBean. Выполняет метод setAttribute() для каждого атрибута в списке.

Определено в:
setAttributes в интерфейсе DynamicMBean
Параметры:
attributes - Список атрибутов: идентификация атрибутов для установки и значения, на которые они должны быть установлены.
Возвращает:
Массив установленных атрибутов с новыми значениями в экземплярах Attribute.
Использует:
RuntimeOperationsException - Оборачивает IllegalArgumentException: Имя объекта в параметре равно null или массив атрибутов в параметре равно null.
См. также:
getAttributes(java.lang.String[])

addNotificationListener

public void addNotificationListener(NotificationListener listener,
                                    NotificationFilter filter,
                                    Object handback)
                             throws IllegalArgumentException

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. Метод 'handleNotification()' этого объекта будет вызываться при каждом уведомлении, издаваемом или обрабатываемом ModelMBean. Это не включает уведомления об изменении атрибутов. Они должны быть зарегистрированы независимо.

Определено в:
addNotificationListener в интерфейсе NotificationBroadcaster
Параметры:
listener - Объект-слушатель, который будет обрабатывать уведомления, испускаемые зарегистрированным MBean.
filter - Объект фильтра. Если null, фильтрация уведомлений не будет выполняться.
handback - Контекст, который будет отправлен слушателю с уведомлением при издании уведомления.
Использует:
IllegalArgumentException - Слушатель не может быть null.
См. также:
removeNotificationListener(javax.management.NotificationListener)

removeNotificationListener

public void removeNotificationListener(NotificationListener listener)
                                throws ListenerNotFoundException

Удаляет слушателя уведомлений из RequiredModelMBean.

Указано в:
removeNotificationListener в интерфейсе NotificationBroadcaster
Параметры:
listener - Имя слушателя, который обрабатывал уведомления, отправленные зарегистрированным MBean. Этот метод удалит всю информацию, связанную с этим слушателем.
Исключения:
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или равен null.
См. также:
addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

removeNotificationListener

public void removeNotificationListener(NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
                                throws ListenerNotFoundException

Описание скопировано из интерфейса: NotificationEmitter

Удаляет слушателя из этого MBean. MBean должен иметь слушателя, который точно соответствует заданным listener, filter, и handback параметрам. Если таких слушателей несколько, удаляется только один.

Параметры filter и handback могут быть null, только если они равны null в удаляемом слушателе.

Указано в:
removeNotificationListener в интерфейсе NotificationEmitter
Параметры:
listener - Слушатель, который был ранее добавлен к этому MBean.
filter - Фильтр, который был указан при добавлении слушателя.
handback - Обратная информация, которая была указана при добавлении слушателя.
Исключения:
ListenerNotFoundException - Слушатель не зарегистрирован с MBean или не зарегистрирован с заданным фильтром и обратной информацией.

sendNotification

public void sendNotification(Notification ntfyObj)
                      throws MBeanException,
                             RuntimeOperationsException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Отправляет уведомление, переданное зарегистрированным слушателям уведомлений на ModelMBean в качестве jmx.modelmbean.generic уведомления.

Указано в:
sendNotification в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
ntfyObj - Уведомление, которое должно быть передано методу 'handleNotification' объекта слушателя.
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Объект уведомления, переданный в качестве параметра, равен null.

sendNotification

public void sendNotification(String ntfyText)
                      throws MBeanException,
                             RuntimeOperationsException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Отправляет уведомление, содержащее текстовую строку, переданную зарегистрированным слушателям уведомлений на ModelMBean.

Указано в:
sendNotification в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
ntfyText - Текст, который должен быть передан в уведомлении методу 'handleNotification' объекта слушателя. Создаваемое уведомление будет иметь тип "jmx.modelmbean.generic", источник - этот экземпляр ModelMBean, последовательность 1
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Текстовая строка уведомления, переданная в качестве параметра, равна null.

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()

Возвращает массив уведомлений, всегда генерируемых RequiredModelMBean.

RequiredModelMBean может всегда отправлять также два дополнительных уведомления:

  • Одно с описанием "name=GENERIC,descriptorType=notification,log=T,severity=6,displayName=jmx.modelmbean.generic"
  • Второе — стандартное уведомление об изменении атрибута с описанием "name=ATTRIBUTE_CHANGE,descriptorType=notification,log=T,severity=6,displayName=jmx.attribute.change"
Таким образом, эти два уведомления всегда добавляются к тем, которые указаны приложением.
Указано в:
getNotificationInfo в интерфейсе NotificationBroadcaster
Возвращает:
MBeanNotificationInfo[]

addAttributeChangeNotificationListener

public void addAttributeChangeNotificationListener(NotificationListener inlistener,
                                                   String inAttributeName,
                                                   Object inhandback)
                                            throws MBeanException,
                                                   RuntimeOperationsException,
                                                   IllegalArgumentException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. Метод 'handleNotification()' этого объекта будет вызываться при отправке любого уведомления об изменении атрибута через или от ModelMBean. Это не включает другие уведомления. Они должны быть зарегистрированы независимо. Для этого атрибута будет сгенерировано уведомление об изменении атрибута.

Указано в:
addAttributeChangeNotificationListener в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
inlistener - Объект слушателя, который будет обрабатывать уведомления, отправленные зарегистрированным MBean.
inAttributeName - Имя атрибута ModelMBean, для которого необходимо получать уведомления об изменении. Если null, то все изменения атрибутов приведут к отправке уведомления об изменении атрибута.
inhandback - Контекст, который будет передан слушателю вместе с уведомлением при отправке уведомления.
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException Имя атрибута, переданное в качестве параметра, не существует.
IllegalArgumentException - Слушатель не может быть null.
См. также:
ModelMBeanNotificationBroadcaster.removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)

removeAttributeChangeNotificationListener

public void removeAttributeChangeNotificationListener(NotificationListener inlistener,
                                                      String inAttributeName)
                                               throws MBeanException,
                                                      RuntimeOperationsException,
                                                      ListenerNotFoundException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Удаляет слушателя уведомлений об изменении атрибутов из RequiredModelMBean.

Указано в:
removeAttributeChangeNotificationListener в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
inlistener - Имя слушателя, который обрабатывал уведомления, отправленные зарегистрированным MBean. Этот метод удалит всю информацию, связанную с этим слушателем.
inAttributeName - Атрибут, для которого слушатель больше не хочет получать уведомления об изменении атрибутов. Если null, слушатель будет удалён для всех уведомлений об изменении атрибутов.
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException Если параметр inAttributeName не соответствует имени атрибута.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или равен null.
См. также:
ModelMBeanNotificationBroadcaster.addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)

sendAttributeChangeNotification

public void sendAttributeChangeNotification(AttributeChangeNotification ntfyObj)
                                     throws MBeanException,
                                            RuntimeOperationsException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

Указано в:
sendAttributeChangeNotification в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
ntfyObj - Уведомление, которое должно быть передано методу 'handleNotification' объекта слушателя.
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Объект AttributeChangeNotification, переданный в качестве параметра, равен null.

sendAttributeChangeNotification

public void sendAttributeChangeNotification(Attribute inOldVal,
                                            Attribute inNewVal)
                                     throws MBeanException,
                                            RuntimeOperationsException

Описание скопировано из интерфейса: ModelMBeanNotificationBroadcaster

Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

Указано в:
sendAttributeChangeNotification в интерфейсе ModelMBeanNotificationBroadcaster
Параметры:
inOldVal - Исходное значение атрибута
inNewVal - Текущее значение атрибута
The constructed attributeChangeNotification will be:
   type        "jmx.attribute.change"
   source      this ModelMBean instance
   sequence    1
   attributeName oldValue.getName()
   attributeType oldValue's class
   attributeOldValue oldValue.getValue()
   attributeNewValue newValue.getValue()
Исключения:
MBeanException - Оборачивает исключение распределённой связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException: Объект атрибута, переданный в параметре, равен null или имена двух объектов атрибутов в параметре не совпадают.

getClassLoaderRepository

protected ClassLoaderRepository getClassLoaderRepository()

Возвращает репозиторий загрузчика классов, используемый для выполнения загрузки классов. Подклассы могут переопределить этот метод, чтобы вернуть соответствующий ClassLoaderRepository, который должен использоваться в этом объекте.

Возвращает:
Репозиторий загрузчика классов.

preRegister

public ObjectName preRegister(MBeanServer server,
                              ObjectName name)
                       throws Exception

Позволяет MBean выполнить любые операции, необходимые перед регистрацией в сервере MBean. Если имя MBean не указано, MBean может предоставить имя для своей регистрации. Если возникает какое-либо исключение, MBean не будет зарегистрирован в сервере MBean.

Для обеспечения правильной семантики выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.preRegister(server, name) в своей собственной реализации preRegister.

Указано в:
preRegister в интерфейсе MBeanRegistration
Параметры:
server - Сервер MBean, в котором будет зарегистрирован MBean.
name - Имя объекта MBean. Это имя равно null, если параметр name одного из методов createMBean или registerMBean в интерфейсе MBeanServer равен null. В этом случае этот метод должен вернуть не null ObjectName для нового MBean.
Возвращает:
Имя, под которым MBean должен быть зарегистрирован. Это значение не может быть null. Если параметр name не равен null, обычно, но не обязательно, возвращается это значение.
Исключения:
Exception - Это исключение будет перехвачено сервером MBean и повторно выброшено как MBeanRegistrationException.

postRegister

public void postRegister(Boolean registrationDone)

Позволяет MBean выполнить любые необходимые операции после регистрации в сервере MBean или после того, как регистрация не удалась.

Для обеспечения правильной семантики выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.postRegister(registrationDone) в своей собственной реализации postRegister.

Указано в:
postRegister в интерфейсе MBeanRegistration
Параметры:
registrationDone - Указывает, успешно ли MBean был зарегистрирован в сервере MBean. Значение false означает, что фаза регистрации завершилась неудачно.

preDeregister

public void preDeregister()
                   throws Exception

Позволяет MBean выполнить любые необходимые операции перед тем, как он будет аннулирован сервером MBean.

Для обеспечения правильной семантики выполнения RequireModelMBean, любой подкласс RequiredModelMBean, переопределяющий этот метод, должен вызвать super.preDeregister() в собственной реализации %%%CODE_BLOCK_278%%.

Определено в:
preDeregister в интерфейсе MBeanRegistration
Исключения:
Exception - Эта ошибка будет перехвачена сервером MBean и переброшена как MBeanRegistrationException.

postDeregister

public void postDeregister()

Позволяет MBean выполнить любые необходимые операции после аннулирования на сервере MBean.

Для обеспечения правильной семантики выполнения RequireModelMBean, любой подкласс RequiredModelMBean, переопределяющий этот метод, должен вызвать super.postDeregister() в собственной реализации %%%CODE_BLOCK_285%%.

Определено в:
postDeregister в интерфейсе MBeanRegistration

© 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.

Spec-Zone.ru

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