Класс RequiredModelMBean
- Все реализованные интерфейсы:
DynamicMBean, MBeanRegistration, ModelMBean, ModelMBeanNotificationBroadcaster, NotificationBroadcaster, NotificationEmitter, PersistentMBean
public class RequiredModelMBean extends Object implements ModelMBean, MBeanRegistration, NotificationEmitter
Ресурсы Java, которые должны быть доступны для управления, создают экземпляр RequiredModelMBean с помощью метода createMBean интерфейса MBeanServer. Затем ресурс задаёт MBeanInfo и дескрипторы для экземпляра RequiredModelMBean. Атрибуты и операции, предоставляемые через ModelMBeanInfo для ModelMBean, доступны из MBeans и коннекторов/адаптеров так же, как и у других MBeans. С помощью дескрипторов значения и методы управляемого приложения можно определить и сопоставить с атрибутами и операциями ModelMBean. Это сопоставление можно определять динамически и программно во время выполнения.
Каждый экземпляр RequiredModelMBean, созданный в MBeanServer, становится доступным для управления:
его атрибуты и операции становятся доступными удалённо через коннекторы/адаптеры, подключённые к этому MBeanServer.
Объект Java нельзя зарегистрировать в MBeanServer, если он не является совместимым с JMX MBean. Создание экземпляра RequiredModelMBean гарантирует, что ресурс является допустимым MBean. Каждый открытый метод должен выбрасывать MBeanException и RuntimeOperationsException. Это позволяет оборачивать исключения, возникающие при распределённом взаимодействии (RMI, EJB и т. д.).
- Начиная с:
- 1.5
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RequiredModelMBean() |
Создаёт RequiredModelMBean с пустым ModelMBeanInfo. |
RequiredModelMBean |
Создаёт объект RequiredModelMBean с использованием переданного ModelMBeanInfo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addAttributeChangeNotificationListener |
Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. |
void |
addNotificationListener |
Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. |
Object |
getAttribute |
Возвращает значение указанного атрибута, определённого для этого ModelMBean. |
AttributeList |
getAttributes |
Возвращает значения нескольких атрибутов в ModelMBean. |
protected ClassLoaderRepository |
getClassLoaderRepository() |
Возвращает репозиторий загрузчиков классов, используемый для загрузки классов. |
MBeanInfo |
getMBeanInfo() |
Возвращает атрибуты, операции, конструкторы и уведомления, которые этот RequiredModelMBean предоставляет для управления. |
MBeanNotificationInfo[] |
getNotificationInfo() |
Возвращает массив уведомлений, всегда генерируемых RequiredModelMBean. |
Object |
invoke |
Вызывает метод в RequiredModelMBean или через него и возвращает результат выполнения метода. |
void |
load() |
Создаёт экземпляр этого MBean с данными, найденными для MBean в постоянном хранилище. |
void |
postDeregister() |
Позволяет MBean выполнить все необходимые действия после его удаления из регистрации на сервере MBean. |
void |
postRegister |
Позволяет MBean выполнить все необходимые действия после его регистрации на сервере MBean или после неудачной попытки регистрации. |
void |
preDeregister() |
Позволяет MBean выполнить все необходимые действия перед удалением его из регистрации сервером MBean. |
ObjectName |
preRegister |
Позволяет MBean выполнить все необходимые действия перед его регистрацией на сервере MBean. |
void |
removeAttributeChangeNotificationListener |
Удаляет слушателя уведомлений об изменении атрибутов из RequiredModelMBean. |
void |
removeNotificationListener |
Удаляет слушателя уведомлений из RequiredModelMBean. |
void |
removeNotificationListener |
Удаляет слушателя из этого MBean. |
void |
sendAttributeChangeNotification |
Отправляет переданное уведомление об изменении атрибута зарегистрированным слушателям уведомлений об изменении атрибутов в ModelMBean. |
void |
sendAttributeChangeNotification |
Отправляет зарегистрированным слушателям AttributeChangeNotification в ModelMBean уведомление об изменении атрибута, содержащее старое и новое значения атрибута. |
void |
sendNotification |
Отправляет зарегистрированным слушателям уведомлений в ModelMBean уведомление, содержащее переданную текстовую строку. |
void |
sendNotification |
Отправляет переданное уведомление зарегистрированным слушателям уведомлений в ModelMBean в виде общего уведомления jmx.modelmbean.generic. |
void |
setAttribute |
Задаёт значение указанного атрибута именованного ModelMBean. |
AttributeList |
setAttributes |
Задаёт значения массива атрибутов этого ModelMBean. |
void |
setManagedResource |
Задаёт ссылку на экземпляр объекта, для которого выполняются все методы этого интерфейса управления ModelMBean (MBeanInfo и дескрипторы). |
void |
setModelMBeanInfo |
Инициализирует объект ModelMBean с использованием переданного ModelMBeanInfo. |
void |
store() |
Сохраняет текущее состояние этого экземпляра MBean в постоянном хранилище. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
RequiredModelMBean
public RequiredModelMBean() throws MBeanException, RuntimeOperationsException
RequiredModelMBean с пустым ModelMBeanInfo. MBeanInfo и дескрипторы RequiredModelMBean можно настроить с помощью метода setModelMBeanInfo(ModelMBeanInfo). После настройки MBeanInfo и дескрипторов RequiredModelMBean его можно зарегистрировать в MBeanServer.
- Исключения:
-
MBeanException— оборачивает исключение распределённой связи. -
RuntimeOperationsException— оборачиваетRuntimeException, возникшее при создании объекта.
RequiredModelMBean
public RequiredModelMBean(ModelMBeanInfo mbi) throws MBeanException, RuntimeOperationsException
setModelMBeanInfo(ModelMBeanInfo). После настройки MBeanInfo и дескрипторов RequiredModelMBean его можно зарегистрировать в MBeanServer.- Параметры:
-
mbi— объект ModelMBeanInfo, который будет использоваться RequiredModelMBean. Переданный ModelMBeanInfo клонируется и изменяется в соответствии с указаниямиsetModelMBeanInfo(ModelMBeanInfo) - Исключения:
-
MBeanException— оборачивает исключение распределённой связи. -
RuntimeOperationsException— оборачиваетIllegalArgumentException: переданный в параметре MBeanInfo равен null.
Подробное описание методов
setModelMBeanInfo
public void setModelMBeanInfo(ModelMBeanInfo mbi) throws MBeanException, RuntimeOperationsException
После настройки ModelMBeanInfo (вместе с дескрипторами) и установки его для ModelMBean этот ModelMBean можно зарегистрировать в MBeanServer.
Если ModelMBean зарегистрирован в данный момент, этот метод вызывает RuntimeOperationsException, оборачивающее IllegalStateException
Если переданный inModelMBeanInfo не содержит ни одного ModelMBeanNotificationInfo для уведомлений GENERIC или ATTRIBUTE_CHANGE, RequiredModelMBean предоставит собственные значения по умолчанию ModelMBeanNotificationInfo для отсутствующих уведомлений.
- Определено в:
-
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
- Определено в:
-
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()
- Определено в:
-
getMBeanInfoв интерфейсеDynamicMBean - Возвращает:
- Экземпляр ModelMBeanInfo, позволяющий получить все атрибуты, операции и уведомления этого MBean.
invoke
public Object invoke(String opName, Object[] opArgs, String[] sig) throws MBeanException, ReflectionException
Если заданный для вызова метод вместе с указанной сигнатурой совпадает с одним из доступных методов RequiredModelMbean, будет вызван этот метод. В противном случае будет предпринята попытка вызвать заданный метод у управляемого ресурса.
Последнее значение, возвращённое операцией, может кэшироваться в дескрипторе операции, который находится в дескрипторе ModelMBeanOperationInfo. Действительное значение будет находиться в поле 'value', если оно задано. Если поле 'currencyTimeLimit' дескриптора имеет значение:
- <0 Значение не кэшируется и никогда не считается действительным. Вызывается метод операции. Поля 'value' и 'lastUpdatedTimeStamp' очищаются.
- =0 Значение всегда кэшируется и всегда считается действительным. Возвращается поле 'value'. Если поля 'value' нет, для атрибута вызывается метод операции. Поля 'lastUpdatedTimeStamp' и `value' устанавливаются в значение, возвращённое операцией, и текущую временную метку.
-
>0 Обозначает количество секунд, в течение которых поле 'value' считается действительным. Поле 'value' перестаёт быть действительным, когда 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Now.
- Если '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
- <0 Значение не кэшируется и никогда не считается действительным. Вызывается метод получения значения атрибута. Поля 'value' и 'lastUpdatedTimeStamp' очищаются.
- =0 Значение всегда кэшируется и всегда считается действительным. Возвращается поле 'value'. Если поля 'value' нет, для атрибута вызывается метод получения значения. Поля 'lastUpdatedTimeStamp' и `value' устанавливаются в значение атрибута и текущую временную метку.
- >0 Обозначает количество секунд, в течение которых поле 'value' считается действительным. Поле 'value' перестаёт быть действительным, когда 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Now.
- Если 'value' действительно, возвращается 'value'.
- Если 'value' больше не действительно, для атрибута вызывается метод получения значения. Поля 'lastUpdatedTimeStamp' и `value' обновляются.
Примечание: из-за несоответствий в предыдущих версиях этой спецификации рекомендуется не использовать отрицательные или нулевые значения для currencyTimeLimit. Чтобы указать, что кэшированное значение никогда не действительно, опустите поле currencyTimeLimit. Чтобы указать, что оно всегда действительно, задайте для этого поля очень большое значение.
Если поле 'getMethod' содержит имя допустимого дескриптора операции, выполняется метод, описанный этим дескриптором операции. Ответ метода возвращается как значение атрибута. Если операция завершается с ошибкой или возвращённое значение несовместимо с объявленным типом атрибута, вызывается исключение.
Если поле 'getMethod' не определено, возвращается значение атрибута по умолчанию. Если возвращённое значение несовместимо с объявленным типом атрибута, вызывается исключение.
Объявленный тип атрибута — это строка, возвращаемая методом MBeanAttributeInfo.getType(). Значение совместимо с этим типом, если выполняется одно из следующих условий:
- значение равно null;
- объявленное имя является именем примитивного типа (например, "int"), а значение — экземпляром соответствующего типа-обёртки (например, java.lang.Integer);
- имя класса значения совпадает с объявленным именем;
- объявленное имя можно загрузить загрузчиком классов значения, и в результате получается класс, которому можно присвоить это значение.
В этой реализации во всех случаях, когда необходимо вызвать getMethod, для его корректного выполнения должна быть указана операция, поскольку метод вызывается через стандартный метод "invoke" и, следовательно, требует operationInfo.
- Определено в:
-
getAttributeв интерфейсеDynamicMBean - Параметры:
-
attrName— строка с именем извлекаемого атрибута. Она должна совпадать с именем ModelMBeanAttributeInfo. - Возвращает:
- Значение извлечённого атрибута из поля 'value' дескриптора либо результат вызова операции, указанной в поле 'getMethod' дескриптора.
- Исключения:
-
AttributeNotFoundException— указанный атрибут недоступен в MBean. К AttributeNotFoundException могут привести следующие случаи:- Для Model MBean не найден ModelMBeanInfo.
- Для указанного имени атрибута не найден ModelMBeanAttributeInfo.
- Метод isReadable объекта ModelMBeanAttributeInfo возвращает 'false'.
-
MBeanException— оборачивает одно из следующих исключений:-
InvalidAttributeValueException: метод получения значения атрибута вернул значение неверного типа либо в дескрипторе атрибута не определено поле 'getMethod' и отсутствует значение по умолчанию. -
ServiceNotFoundException: для метода получения значения атрибута не определён ModelMBeanOperationInfo или дескриптор, связанный с ModelMBeanOperationInfo, либо управляемый ресурс равен null. -
InvalidTargetObjectTypeException: значение поля 'targetType' не равно 'objectReference'. - Исключение, вызванное методом получения значения управляемого объекта.
-
-
ReflectionException— оборачиваетException, возникшее при попытке вызвать метод получения значения. -
RuntimeOperationsException— оборачиваетIllegalArgumentException: имя атрибута в параметре равно null. - См. также:
getAttributes
public AttributeList getAttributes(String[] attrNames)
- Определено в:
-
getAttributesв интерфейсеDynamicMBean - Параметры:
-
attrNames— массив строк с именами извлекаемых атрибутов. - Возвращает:
- Массив извлечённых атрибутов.
- Исключения:
-
RuntimeOperationsException— оборачиваетIllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null. - См. также:
setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
Если currencyTimeLimit > 0, новое значение атрибута кэшируется в поле 'value' дескриптора атрибута, а поле 'lastUpdatedTimeStamp' устанавливается в текущую временную метку.
Если поле persist дескриптора атрибута не равно null, для сохранения атрибута в постоянном хранилище используется политика сохранения из дескриптора атрибута.
Сохраняйте MBean, если поле 'persistPolicy' имеет значение:
- != "never"
- = "always"
- = "onUpdate"
- = "onTimer" и now > 'lastPersistTime' + 'persistPeriod'
- = "NoMoreOftenThan" и now > 'lastPersistTime' + 'persistPeriod'
- = "never"
- = = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
- = "onUnregister"
- = = "NoMoreOftenThan" и now < '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. - См. также:
setAttributes
public AttributeList setAttributes(AttributeList attributes)
- Определено в:
-
setAttributesв интерфейсеDynamicMBean - Параметры:
-
attributes— список атрибутов: идентификаторы атрибутов, значения которых требуется задать. - Возвращает:
- Массив заданных атрибутов с новыми значениями в экземплярах Attribute.
- Исключения:
-
RuntimeOperationsException— оборачиваетIllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null. - См. также:
addNotificationListener
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException
- Определено в:
-
addNotificationListenerв интерфейсеNotificationBroadcaster - Параметры:
-
listener— объект-слушатель, который будет обрабатывать уведомления, отправленные зарегистрированным MBean. -
filter— объект-фильтр. Если он равен null, перед обработкой уведомлений фильтрация выполняться не будет. -
handback— контекст, отправляемый слушателю вместе с уведомлением. - Исключения:
-
IllegalArgumentException— слушатель не может быть равен null. - См. также:
removeNotificationListener
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
- Определено в:
-
removeNotificationListenerв интерфейсеNotificationBroadcaster - Параметры:
-
listener— имя слушателя, обрабатывавшего уведомления, отправленные зарегистрированным MBean. Этот метод удаляет все сведения, связанные с этим слушателем. - Исключения:
-
ListenerNotFoundException— слушатель не зарегистрирован в MBean или равен null. - См. также:
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— объект handback, указанный при добавлении слушателя. - Исключения:
-
ListenerNotFoundException— слушатель не зарегистрирован в MBean либо не зарегистрирован с указанными фильтром и объектом handback.
sendNotification
public void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
ModelMBeanNotificationBroadcaster- Определено в:
-
sendNotificationв интерфейсеModelMBeanNotificationBroadcaster - Параметры:
-
ntfyObj— уведомление, передаваемое методу 'handleNotification' объекта-слушателя. - Исключения:
-
MBeanException— оборачивает исключение распределённой связи. -
RuntimeOperationsException— оборачивает IllegalArgumentException: объект Notification, переданный в параметре, равен null.
sendNotification
public void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
ModelMBeanNotificationBroadcaster- Определено в:
-
sendNotificationв интерфейсеModelMBeanNotificationBroadcaster - Параметры:
-
ntfyText— текст, передаваемый в уведомлении методу 'handleNotification' объекта-слушателя. Создаваемое уведомление будет иметь: тип "jmx.modelmbean.generic", источник — этот экземпляр ModelMBean, порядковый номер — 1 - Исключения:
-
MBeanException— оборачивает исключение распределённой связи. -
RuntimeOperationsException— оборачивает IllegalArgumentException: текстовая строка уведомления, переданная в параметре, равна null.
getNotificationInfo
public MBeanNotificationInfo[] getNotificationInfo()
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- Указано в:
-
addAttributeChangeNotificationListenerв интерфейсеModelMBeanNotificationBroadcaster - Параметры:
-
inlistener— объект прослушивателя, который будет обрабатывать уведомления, отправленные зарегистрированным MBean. -
inAttributeName— имя атрибута ModelMBean, изменения которого нужно отслеживать. Если значение равно null, любое изменение атрибута приведёт к созданию attributeChangeNotification. -
inhandback— контекст, который будет передан прослушивателю вместе с уведомлением. - Исключения:
-
MBeanException— обёртывает исключение распределённого взаимодействия. -
RuntimeOperationsException— обёртывает IllegalArgumentException. Имя атрибута, переданное в параметре, не существует. -
IllegalArgumentException— прослушиватель не может иметь значение null. - См. также:
removeAttributeChangeNotificationListener
public void removeAttributeChangeNotificationListener(NotificationListener inlistener, String inAttributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
ModelMBeanNotificationBroadcaster- Указано в:
-
removeAttributeChangeNotificationListenerв интерфейсеModelMBeanNotificationBroadcaster - Параметры:
-
inlistener— имя прослушивателя, который обрабатывал уведомления, отправленные зарегистрированным MBean. Этот метод удаляет все сведения, связанные с данным прослушивателем. -
inAttributeName— атрибут, уведомления attributeChangeNotification об изменениях которого прослушиватель больше не хочет получать. Если значение равно null, прослушиватель будет удалён для всех уведомлений attributeChangeNotification. - Исключения:
-
MBeanException— обёртывает исключение распределённого взаимодействия. -
RuntimeOperationsException— обёртывает IllegalArgumentException. Параметр inAttributeName не соответствует имени атрибута. -
ListenerNotFoundException— прослушиватель не зарегистрирован в MBean или имеет значение null. - См. также:
sendAttributeChangeNotification
public void sendAttributeChangeNotification(AttributeChangeNotification ntfyObj) throws MBeanException, RuntimeOperationsException
ModelMBeanNotificationBroadcaster- Указано в:
-
sendAttributeChangeNotificationв интерфейсеModelMBeanNotificationBroadcaster - Параметры:
-
ntfyObj— уведомление, которое будет передано методу 'handleNotification' объекта прослушивателя. - Исключения:
-
MBeanException— обёртывает исключение распределённого взаимодействия. -
RuntimeOperationsException— обёртывает IllegalArgumentException: объект AttributeChangeNotification, переданный в параметре, имеет значение null.
sendAttributeChangeNotification
public void sendAttributeChangeNotification(Attribute inOldVal, Attribute inNewVal) throws MBeanException, RuntimeOperationsException
ModelMBeanNotificationBroadcaster- Указано в:
-
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: объект Attribute, переданный в параметре, имеет значение null или имена двух объектов Attribute в параметре не совпадают.
getClassLoaderRepository
protected ClassLoaderRepository getClassLoaderRepository()
ClassLoaderRepository, который следует использовать в этом объекте.- Возвращает:
- репозиторий загрузчиков классов.
preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
Чтобы обеспечить корректную семантику выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.preRegister(server, name) в собственной реализации preRegister.
- Указано в:
-
preRegisterв интерфейсеMBeanRegistration - Параметры:
-
server— сервер MBean, на котором будет зарегистрирован MBean. -
name— имя объекта MBean. Это имя равно null, если параметр имени в одном из методовcreateMBeanилиregisterMBeanинтерфейсаMBeanServerравен null. В этом случае данный метод должен вернуть ненулевой ObjectName для нового MBean. - Возвращает:
- имя, под которым регистрируется MBean. Это значение не должно быть null. Если параметр
nameне равен null, обычно, но не обязательно, возвращается именно он. - Исключения:
-
Exception— это исключение будет перехвачено сервером MBean и повторно выброшено какMBeanRegistrationException.
postRegister
public void postRegister(Boolean registrationDone)
Чтобы обеспечить корректную семантику выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.postRegister(registrationDone) в собственной реализации postRegister.
- Указано в:
-
postRegisterв интерфейсеMBeanRegistration - Параметры:
-
registrationDone— указывает, был ли MBean успешно зарегистрирован на сервере MBean. Значение false означает, что этап регистрации завершился с ошибкой.
preDeregister
public void preDeregister() throws Exception
Чтобы обеспечить корректную семантику выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.preDeregister() в собственной реализации preDeregister.
- Указано в:
-
preDeregisterв интерфейсеMBeanRegistration - Исключения:
-
Exception— это исключение будет перехвачено сервером MBean и повторно выброшено какMBeanRegistrationException.
postDeregister
public void postDeregister()
Чтобы обеспечить корректную семантику выполнения RequireModelMBean, любой подкласс RequiredModelMBean, перегружающий или переопределяющий этот метод, должен вызвать super.postDeregister() в собственной реализации postDeregister.
- Указано в:
-
postDeregisterв интерфейсеMBeanRegistration
© 1993, 2025, 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.