Spec-Zone.ru › OpenJDK 17

Класс StandardMBean

java.lang.Object
javax.management.StandardMBean
Все реализованные интерфейсы:
DynamicMBean, MBeanRegistration
Прямые известные подклассы:
StandardEmitterMBean
public class StandardMBean extends Object implements DynamicMBean, MBeanRegistration

МBean, интерфейс управления которого определяется рефлексией над Java-интерфейсом.

Этот класс вносит больше гибкости в понятие интерфейса управления при использовании стандартных МBean. Прямое использование шаблонов для стандартных МBean, описанных в спецификации JMX, означает, что существует фиксированная связь между реализующим классом МBean и его интерфейсом управления (т.е., если реализующий класс — Thing, интерфейс управления должен быть ThingMBean). Этот класс позволяет сохранить удобство указания интерфейса управления с помощью Java-интерфейса без требования наличия какой-либо связи по именам между реализующим и интерфейсным классами.

Превращая МBean в DynamicMBean, этот класс позволяет выбрать любой интерфейс, реализованный МBean, в качестве его интерфейса управления, при условии соответствия шаблонам JMX (т.е., атрибуты определены методом getter/setter и т. д.).

Этот класс также предоставляет крючки, которые позволяют предоставить пользовательские описания и имена для MBeanInfo, возвращаемого интерфейсом DynamicMBean.

С помощью этого класса МBean можно создать с любым именем реализующего класса Impl и с интерфейсом управления, определённым (как и для текущих стандартных МBean) любым интерфейсом Intf, одним из двух способов:

  • Используя публичный конструктор StandardMBean(impl,interface):
         MBeanServer mbs;
         ...
         Impl impl = new Impl(...);
         StandardMBean mbean = new StandardMBean(impl, Intf.class, false);
         mbs.registerMBean(mbean, objectName);
         
  • Наследование от StandardMBean:
         public class Impl extends StandardMBean implements Intf {
            public Impl() {
              super(Intf.class, false);
           }
           // implement methods of Intf
         }
    
         [...]
    
         MBeanServer mbs;
         ....
         Impl impl = new Impl();
         mbs.registerMBean(impl, objectName);
         

В любом случае, класс Impl должен реализовывать интерфейс Intf.

Стандартные МBean, основанные на связи по именам между реализующим и интерфейсным классами, конечно, всё ещё доступны.

Этот класс также может быть использован для создания MXBean. Использование точно такое же, как и для стандартных МBean, за исключением того, что в примерах выше, параметр false для конструктора или вызова super(...) заменяется на true.

Since:
1.5

Краткое описание конструкторов

StandardMBean(Class<?> mbeanInterface)
StandardMBean(Class<?> mbeanInterface, boolean isMXBean)
StandardMBean(T implementation, Class<T> mbeanInterface)
StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
Модификатор Конструктор Описание
protected
Преобразует текущий объект this в DynamicMBean, используя указанный класс mbeanInterface.
protected
Преобразует текущий объект this в DynamicMBean, используя указанный класс mbeanInterface, и определяя, является ли результирующий МBean MXBean.
Преобразует объект implementation в DynamicMBean, используя указанный класс mbeanInterface.
Преобразует объект implementation в DynamicMBean, используя указанный класс mbeanInterface, и определяя, является ли результирующий МBean MXBean.

Краткое описание методов

Модификатор и тип Метод Описание
protected void cacheMBeanInfo(MBeanInfo info)
Метод-крючок: кэширует MBeanInfo, созданный для этого объекта.
Object getAttribute(String attribute)
Получение значения конкретного атрибута Dynamic MBean.
AttributeList getAttributes(String[] attributes)
Получение значений нескольких атрибутов Dynamic MBean.
protected MBeanInfo getCachedMBeanInfo()
Метод-крючок: возвращает кэшированный MBeanInfo для этого объекта.
protected String getClassName(MBeanInfo info)
Метод-крючок: Получение имени класса, которое будет использоваться в MBeanInfo, возвращаемом этим МBean.
protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
Метод-крючок: Получение MBeanConstructorInfo[], которое будет использоваться в MBeanInfo, возвращаемом этим МBean.
protected String getDescription(MBeanAttributeInfo info)
Метод-крючок: Получение описания, которое будет использоваться в MBeanAttributeInfo, возвращаемом этим МBean.
protected String getDescription(MBeanConstructorInfo info)
Метод-крючок: Получение описания, которое будет использоваться в MBeanConstructorInfo, возвращаемом этим МBean.
protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Метод-крючок: Получение описания, которое будет использоваться для MBeanParameterInfo последовательности sequence в MBeanConstructorInfo, возвращаемом этим МBean.
protected String getDescription(MBeanFeatureInfo info)
Метод-крючок: Получение описания, которое будет использоваться в MBeanFeatureInfo, возвращаемом этим МBean.
protected String getDescription(MBeanInfo info)
Метод-крючок: Получение описания, которое будет использоваться в MBeanInfo, возвращаемом этим МBean.
protected String getDescription(MBeanOperationInfo info)
Метод-крючок: Получение описания, которое будет использоваться в MBeanOperationInfo, возвращаемом этим МBean.
protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Метод-крючок: Получение описания, которое будет использоваться для MBeanParameterInfo последовательности sequence в MBeanOperationInfo, возвращаемом этим МBean.
protected int getImpact(MBeanOperationInfo info)
Метод-крючок: Получение флага impact операции, который будет использоваться в MBeanOperationInfo, возвращаемом этим МBean.
Object getImplementation()
Получение реализации этого Standard MBean (или MXBean).
Class<?> getImplementationClass()
Получение класса реализации этого Standard MBean (или MXBean).
MBeanInfo getMBeanInfo()
Получение MBeanInfo для этого МBean.
final Class<?> getMBeanInterface()
Получение интерфейса управления этого Standard MBean (или MXBean).
protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Метод-крючок: Получение имени, которое будет использоваться для MBeanParameterInfo последовательности sequence в MBeanConstructorInfo, возвращаемом этим МBean.
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Метод-крючок: Получение имени, которое будет использоваться для MBeanParameterInfo последовательности sequence в MBeanOperationInfo, возвращаемом этим МBean.
Object invoke(String actionName, Object[] params, String[] signature)
Позволяет вызвать действие на Dynamic MBean.
void postDeregister()
Позволяет МBean выполнить все операции, необходимые после его отмены регистрации в сервере МBean.
void postRegister(Boolean registrationDone)
Позволяет МBean выполнить все операции, необходимые после его регистрации в сервере МBean или после неудачи регистрации.
void preDeregister()
Позволяет МBean выполнить все необходимые операции перед его отзывом из сервера МBean.
ObjectName preRegister(MBeanServer server, ObjectName name)
Позволяет МBean выполнить все необходимые операции перед его регистрацией в сервере МBean.
void setAttribute(Attribute attribute)
Установка значения конкретного атрибута Dynamic MBean.
AttributeList setAttributes(AttributeList attributes)
Установка значений нескольких атрибутов Dynamic MBean.
void setImplementation(Object implementation)
Замена объекта реализации, обернутого в этот объект.

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

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

Подробное описание конструкторов

StandardMBean

public StandardMBean(T implementation, Class<T> mbeanInterface) throws NotCompliantMBeanException

Создать DynamicMBean из объекта implementation, используя указанный класс mbeanInterface.

Параметры типа:
T - Позволяет компилятору проверить, что implementation действительно реализует класс, описанный в mbeanInterface. Компилятор может проверить это только если mbeanInterface является литералом класса, например MyMBean.class.
Параметры:
implementation - Реализация этого MBean.
mbeanInterface - Интерфейс управления, экспортируемый реализацией этого MBean. Если null, этот объект будет использовать стандартную схему JMX для определения интерфейса управления, связанного с данной реализацией.
Исключения:
IllegalArgumentException - если заданный implementation равен null.
NotCompliantMBeanException - если mbeanInterface не соответствует паттернам проектирования JMX для интерфейсов управления или если заданный implementation не реализует указанный интерфейс.

StandardMBean

protected StandardMBean(Class<?> mbeanInterface) throws NotCompliantMBeanException

Создать DynamicMBean из this, используя указанный класс mbeanInterface.

Вызывает this(this,mbeanInterface). Этот конструктор предназначен для подклассов.

Параметры:
mbeanInterface - Интерфейс управления, экспортируемый этим MBean.
Исключения:
NotCompliantMBeanException - если mbeanInterface не соответствует паттернам проектирования JMX для интерфейсов управления или если this не реализует указанный интерфейс.

StandardMBean

public StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)

Создать DynamicMBean из объекта implementation, используя указанный класс mbeanInterface, и выбрать, является ли получившийся MBean MXBean. Этот конструктор можно использовать для создания как Standard MBean, так и MXBean. В отличие от конструктора StandardMBean(Object, Class), он не выбрасывает исключение NotCompliantMBeanException.

Параметры типа:
T - Позволяет компилятору проверить, что implementation действительно реализует класс, описанный в mbeanInterface. Компилятор может проверить это только если mbeanInterface является литералом класса, например MyMBean.class.
Параметры:
implementation - Реализация этого MBean.
mbeanInterface - Интерфейс управления, экспортируемый реализацией этого MBean. Если null, этот объект будет использовать стандартную схему JMX для определения интерфейса управления, связанного с данной реализацией.
isMXBean - Если true, параметр mbeanInterface обозначает интерфейс MXBean, и получившийся MBean является MXBean.
Исключения:
IllegalArgumentException - если заданный implementation равен null, или если mbeanInterface не соответствует паттернам проектирования JMX для интерфейсов управления, или если заданный implementation не реализует указанный интерфейс.
С момента:
1.6

StandardMBean

protected StandardMBean(Class<?> mbeanInterface, boolean isMXBean)

Создать DynamicMBean из this, используя указанный класс mbeanInterface, и выбрать, является ли получившийся MBean MXBean. Этот конструктор можно использовать для создания как Standard MBean, так и MXBean. В отличие от конструктора StandardMBean(Object, Class), он не выбрасывает исключение NotCompliantMBeanException.

Вызывает this(this, mbeanInterface, isMXBean). Этот конструктор предназначен для подклассов.

Параметры:
mbeanInterface - Интерфейс управления, экспортируемый этим MBean.
isMXBean - Если true, параметр mbeanInterface обозначает интерфейс MXBean, и получившийся MBean является MXBean.
Исключения:
IllegalArgumentException - если mbeanInterface не соответствует паттернам проектирования JMX для интерфейсов управления или если this не реализует указанный интерфейс.
С момента:
1.6

Подробное описание методов

setImplementation

public void setImplementation(Object implementation) throws NotCompliantMBeanException

Заменить объект реализации, обернутый в этом объекте.

Параметры:
implementation - Новая реализация этого Standard MBean (или MXBean). Объект implementation должен реализовывать интерфейс Standard MBean (или MXBean), который был предоставлен при создании этого StandardMBean.
Исключения:
IllegalArgumentException - если заданный implementation равен null.
NotCompliantMBeanException - если заданный implementation не реализует интерфейс Standard MBean (или MXBean), предоставленный при создании.
См. также:
  • getImplementation()

getImplementation

public Object getImplementation()
Получить реализацию этого Standard MBean (или MXBean).
Возвращает:
Реализация этого Standard MBean (или MXBean).
См. также:
  • setImplementation(java.lang.Object)

getMBeanInterface

public final Class<?> getMBeanInterface()
Получить интерфейс управления этого Standard MBean (или MXBean).
Возвращает:
Интерфейс управления этого Standard MBean (или MXBean).

getImplementationClass

public Class<?> getImplementationClass()
Получить класс реализации этого Standard MBean (или MXBean).
Возвращает:
Класс реализации этого Standard MBean (или MXBean).

getAttribute

public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
Описание скопировано из интерфейса: DynamicMBean
Получить значение определённого атрибута Dynamic MBean.
Определено в:
getAttribute в интерфейсе DynamicMBean
Параметры:
attribute - Имя атрибута для извлечения
Возвращает:
Значение извлечённого атрибута.
Исключения:
AttributeNotFoundException - если указанный атрибут не существует или не может быть извлечён
MBeanException - Оборачивает исключение java.lang.Exception брошенное getter'ом MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, брошенное при попытке вызвать getter.
См. также:
  • DynamicMBean.setAttribute(javax.management.Attribute)

setAttribute

public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
Описание скопировано из интерфейса: DynamicMBean
Установить значение определённого атрибута Dynamic MBean.
Определено в:
setAttribute в интерфейсе DynamicMBean
Параметры:
attribute - Идентификация атрибута для установки и значение, которое ему нужно установить.
Исключения:
AttributeNotFoundException - если указанный атрибут не существует или не может быть извлечён
InvalidAttributeValueException - если указанное значение не является допустимым для атрибута
MBeanException - Оборачивает исключение java.lang.Exception брошенное setter'ом MBean.
ReflectionException - Оборачивает исключение java.lang.Exception брошенное при попытке вызвать setter.
См. также:
  • DynamicMBean.getAttribute(java.lang.String)

getAttributes

public AttributeList getAttributes(String[] attributes)
Описание скопировано из интерфейса: DynamicMBean
Получить значения нескольких атрибутов Dynamic MBean.
Определено в:
getAttributes в интерфейсе DynamicMBean
Параметры:
attributes - Список атрибутов для извлечения.
Возвращает:
Список извлечённых атрибутов.
См. также:
  • DynamicMBean.setAttributes(javax.management.AttributeList)

setAttributes

public AttributeList setAttributes(AttributeList attributes)
Описание скопировано из интерфейса: DynamicMBean
Установить значения нескольких атрибутов Dynamic MBean.
Определено в:
setAttributes в интерфейсе DynamicMBean
Параметры:
attributes - Список атрибутов: Идентификация атрибутов для установки и значения, которые им нужно установить.
Возвращает:
Список атрибутов, которые были установлены со своими новыми значениями.
См. также:
  • DynamicMBean.getAttributes(java.lang.String[])

вызов

public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
Описание скопировано из интерфейса: DynamicMBean
Позволяет вызвать действие на динамическом MBean.
Определено в:
invoke в интерфейсе DynamicMBean
Параметры:
actionName - Имя действия, которое нужно вызвать.
params - Массив, содержащий параметры, которые нужно установить при вызове действия.
signature - Массив, содержащий сигнатуру действия. Объекты классов будут загружены через тот же загрузчик классов, что и тот, который использовался для загрузки MBean, на котором вызывается действие.
Возвращает:
Объект, возвращённый действием, который представляет результат вызова действия на указанном MBean.
Исключения:
MBeanException - Оборачивает исключение java.lang.Exception брошенное методом вызываемого MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызвать метод.

getMBeanInfo

public MBeanInfo getMBeanInfo()
Получить MBeanInfo для этого MBean.

Этот метод реализует DynamicMBean.getMBeanInfo().

Этот метод сначала вызывает getCachedMBeanInfo() для получения кэшированного MBeanInfo для этого MBean, если таковой имеется. Если MBeanInfo, возвращаемый getCachedMBeanInfo(), не равен null, то он возвращается.
В противном случае этот метод создаёт стандартный MBeanInfo для этого MBean, используя интерфейс управления, указанный для этого MBean.

При построении MBeanInfo этот метод вызывает методы настройки, которые позволяют подклассам предоставлять свои пользовательские описания, имена параметров и т.д...
Наконец, он вызывает cacheMBeanInfo() для кэширования нового MBeanInfo.

Определено в:
getMBeanInfo в интерфейсе DynamicMBean
Возвращает:
Кэшированный MBeanInfo для этого MBean, если он не равен null, или новый MBeanInfo, если он не был кэширован.

getClassName

protected String getClassName(MBeanInfo info)
Метод настройки: получить имя класса, которое будет использоваться в MBeanInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского имени класса. По умолчанию метод возвращает info.getClassName().
Параметры:
info - Стандартный MBeanInfo, полученный путём рефлексии.
Возвращает:
Имя класса для нового MBeanInfo.

getDescription

protected String getDescription(MBeanInfo info)
Метод настройки: получить описание, которое будет использоваться в MBeanInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского описания MBean. По умолчанию метод возвращает info.getDescription().
Параметры:
info - Стандартный MBeanInfo, полученный путём рефлексии.
Возвращает:
Описание для нового MBeanInfo.

getDescription

protected String getDescription(MBeanFeatureInfo info)

Метод настройки: получить описание, которое будет использоваться в MBeanFeatureInfo, возвращаемом этим MBean.

Подклассы могут переопределить этот метод, чтобы предоставить своё пользовательское описание. По умолчанию метод возвращает info.getDescription().

Этот метод вызывается getDescription(MBeanAttributeInfo), getDescription(MBeanOperationInfo), getDescription(MBeanConstructorInfo).

Параметры:
info - Стандартный MBeanFeatureInfo, полученный путём рефлексии.
Возвращает:
Описание для данного MBeanFeatureInfo.

getDescription

protected String getDescription(MBeanAttributeInfo info)
Метод настройки: получить описание, которое будет использоваться в MBeanAttributeInfo, возвращаемом этим MBean.

Подклассы могут переопределить этот метод, чтобы предоставить своё пользовательское описание. По умолчанию метод возвращает getDescription((MBeanFeatureInfo) info).

Параметры:
info - Стандартный MBeanAttributeInfo, полученный путём рефлексии.
Возвращает:
Описание для данного MBeanAttributeInfo.

getDescription

protected String getDescription(MBeanConstructorInfo info)
Метод настройки: получить описание, которое будет использоваться в MBeanConstructorInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского описания. По умолчанию метод возвращает getDescription((MBeanFeatureInfo) info).
Параметры:
info - Стандартный MBeanConstructorInfo, полученный путём рефлексии.
Возвращает:
Описание для данного MBeanConstructorInfo.

getDescription

protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Метод настройки: получить описание, которое будет использоваться для последовательности MBeanParameterInfo в MBeanConstructorInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского описания. По умолчанию метод возвращает param.getDescription().
Параметры:
ctor - Стандартный MBeanConstructorInfo, полученный путём рефлексии.
param - Стандартный MBeanParameterInfo, полученный путём рефлексии.
sequence - Номер последовательности параметра ("0" для первого параметра, "1" для второго параметра и т.д.).
Возвращает:
Описание для данного MBeanParameterInfo.

getParameterName

protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Метод настройки: получить имя, которое будет использоваться для последовательности MBeanParameterInfo в MBeanConstructorInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского имени параметра. По умолчанию метод возвращает param.getName().
Параметры:
ctor - Стандартный MBeanConstructorInfo, полученный путём рефлексии.
param - Стандартный MBeanParameterInfo, полученный путём рефлексии.
sequence - Номер последовательности параметра ("0" для первого параметра, "1" для второго параметра и т.д.).
Возвращает:
Имя для данного MBeanParameterInfo.

getDescription

protected String getDescription(MBeanOperationInfo info)
Метод настройки: получить описание, которое будет использоваться в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского описания. По умолчанию метод возвращает getDescription((MBeanFeatureInfo) info).
Параметры:
info - Стандартный MBeanOperationInfo, полученный путём рефлексии.
Возвращает:
Описание для данного MBeanOperationInfo.

getImpact

protected int getImpact(MBeanOperationInfo info)
Метод настройки: получить флаг воздействия операции, который будет использоваться в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского флага воздействия. По умолчанию метод возвращает info.getImpact().
Параметры:
info - Стандартный MBeanOperationInfo, полученный путём рефлексии.
Возвращает:
Флаг воздействия для данного MBeanOperationInfo.

getParameterName

protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Метод настройки: получить имя, которое будет использоваться для последовательности MBeanParameterInfo в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского имени параметра. По умолчанию метод возвращает param.getName().
Параметры:
op - Стандартный MBeanOperationInfo, полученный путём рефлексии.
param - Стандартный MBeanParameterInfo, полученный путём рефлексии.
sequence - Номер последовательности параметра ("0" для первого параметра, "1" для второго параметра и т.д.).
Возвращает:
Имя для данного MBeanParameterInfo.

getDescription

protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Метод настройки: получить описание, которое будет использоваться для последовательности MBeanParameterInfo в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод для предоставления своего пользовательского описания. По умолчанию метод возвращает param.getDescription().
Параметры:
op - Стандартный MBeanOperationInfo, полученный путём рефлексии.
param - Стандартный MBeanParameterInfo, полученный путём рефлексии.
sequence - Номер последовательности параметра ("0" для первого параметра, "1" для второго параметра и т.д.).
Возвращает:
Описание для данного MBeanParameterInfo.

getConstructors

protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
Модифицирующий метод: Получить массив MBeanConstructorInfo[], который будет использоваться в возвращаемом объекте MBeanInfo.
По умолчанию этот метод возвращает null если обернутая реализация не является this. Действительно, если обернутая реализация не является этим объектом, то невозможно будет воссоздать обернутую реализацию, вызвав конструкторы реализации через MBeanServer.createMBean(...).
В противном случае, если обернутая реализация является this, возвращается ctors.
Подклассы могут переопределить этот метод для изменения этого поведения, если это необходимо.
Parameters:
ctors - Значение по умолчанию MBeanConstructorInfo[], полученное с помощью рефлексии.
impl - Объект обернутой реализации. Если null передаётся, обернутая реализация игнорируется и возвращается ctors.
Returns:
массив MBeanConstructorInfo[] для нового объекта MBeanInfo.

getCachedMBeanInfo

protected MBeanInfo getCachedMBeanInfo()
Модифицирующий метод: Возвращает объект MBeanInfo, кэшированный для этого объекта.

Подклассы могут переопределить этот метод для реализации собственной политики кэширования. По умолчанию реализация хранит один объект MBeanInfo на каждый экземпляр.

Returns:
Кэшированный объект MBeanInfo, или null, если объект MBeanInfo не кэширован.
See Also:
  • cacheMBeanInfo(MBeanInfo)

cacheMBeanInfo

protected void cacheMBeanInfo(MBeanInfo info)
Модифицирующий метод: Кэширует объект MBeanInfo, построенный для этого объекта.

Подклассы могут переопределить этот метод для реализации собственной политики кэширования. По умолчанию реализация хранит info в этом экземпляре. Подкласс может определить другие политики, такие как не сохранение info (так что он воссоздаётся каждый раз, когда вызывается getMBeanInfo()) или совместное использование уникального объекта MBeanInfo, когда несколько экземпляров StandardMBean имеют одинаковые значения MBeanInfo.

Parameters:
info - новый MBeanInfo для кэширования. Любое ранее кэшированное значение отбрасывается. Этот параметр может быть null, в этом случае нового кэшированного значения нет.

preRegister

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

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

Реализация по умолчанию этого метода возвращает параметр name. Для стандартных MBean она ничего больше не делает. Для MXBeans, она записывает параметры MBeanServer и ObjectName для того, чтобы их можно было использовать для перевода меж-MXBean ссылок.

Для подклассов, которые переопределяют этот метод, рекомендуется вызывать переопределенный метод через super.preRegister(...). Это необходимо, если этот объект является MXBean, на который ссылаются атрибуты или операции в других MXBeans.

Specified by:
preRegister in interface MBeanRegistration
Parameters:
server - Сервер MBean, в котором будет зарегистрирован MBean.
name - Имя объекта MBean. Это имя null, если параметр name в одном из методов createMBean или registerMBean в интерфейсе MBeanServer является null. В этом случае этот метод должен вернуть не null ObjectName для нового MBean.
Returns:
Имя, под которым MBean должен быть зарегистрирован. Это значение не должно быть null. Если параметр name не null, он, как правило, но не обязательно, будет возвращаемым значением.
Throws:
IllegalArgumentException - если это MXBean и name равно null.
InstanceAlreadyExistsException - если это MXBean и он уже зарегистрирован под другим именем (в этом сервере MBean или другом).
Exception - не выбрасываются другие обработанные исключения, но Exception объявлено, чтобы подклассы могли переопределить этот метод и сгенерировать свои исключения.
Since:
1.6

postRegister

public void postRegister(Boolean registrationDone)

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

Реализация по умолчанию этого метода ничего не делает для стандартных MBean. Для MXBeans она отменяет любую работу, проделанную методом preRegister, если регистрация завершилась ошибкой.

Для подклассов, которые переопределяют этот метод, рекомендуется вызывать переопределенный метод через super.postRegister(...). Это необходимо, если этот объект является MXBean, на который ссылаются атрибуты или операции в других MXBeans.

Specified by:
postRegister in interface MBeanRegistration
Parameters:
registrationDone - Указывает, была ли MBean успешно зарегистрирована в сервере MBean. Значение false означает, что фаза регистрации завершилась неудачно.
Since:
1.6

preDeregister

public void preDeregister() throws Exception

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

Реализация по умолчанию этого метода ничего не делает.

Для подклассов, которые переопределяют этот метод, рекомендуется вызывать переопределенный метод через super.preDeregister(...).

Specified by:
preDeregister in interface MBeanRegistration
Throws:
Exception - не выбрасываются обработанные исключения, но Exception объявлено, чтобы подклассы могли переопределить этот метод и сгенерировать свои исключения.
Since:
1.6

postDeregister

public void postDeregister()

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

Реализация по умолчанию этого метода ничего не делает для стандартных MBean. Для MXBeans она удаляет любую информацию, которая была записана методом preRegister.

Для подклассов, которые переопределяют этот метод, рекомендуется вызывать переопределенный метод через super.postRegister(...). Это необходимо, если этот объект является MXBean, на который ссылаются атрибуты или операции в других MXBeans.

Specified by:
postDeregister in interface MBeanRegistration
Since:
1.6

© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.management/javax/management/StandardMBean.html

Spec-Zone.ru

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