Spec-Zone.ru › OpenJDK 24

Класс StandardMBean

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

Объект MBean, чьё управление интерфейсом определяется отражением на Java-интерфейсе.

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

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

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

Используя этот класс, MBean можно создать с любым именем реализующего класса Impl и с интерфейсом управления, определённым (как для текущих стандартных MBean) любым интерфейсом 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.

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

Этот класс также можно использовать для создания MXBean. Использование точно такое же, как и для стандартных MBean, за исключением того, что в примерах выше параметр 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 и выбор, является ли полученный MBean MXBean.
 <T> 
Преобразовать объект implementation в DynamicMBean, используя указанный класс mbeanInterface.
 <T> 
Преобразовать объект implementation в DynamicMBean, используя указанный класс mbeanInterface и выбор, является ли полученный MBean 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)
Крючок кастомизации: получить className, который будет использован в MBeanInfo, возвращаемом этим MBean.
protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
Крючок кастомизации: получить MBeanConstructorInfo[], который будет использован в MBeanInfo, возвращаемом этим MBean.
protected String getDescription(MBeanAttributeInfo info)
Крючок кастомизации: получить описание, которое будет использовано в MBeanAttributeInfo, возвращаемом этим MBean.
protected String getDescription(MBeanConstructorInfo info)
Крючок кастомизации: получить описание, которое будет использовано в MBeanConstructorInfo, возвращаемом этим MBean.
protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Крючок кастомизации: получить описание, которое будет использовано для sequence MBeanParameterInfo MBeanConstructorInfo, возвращаемого этим MBean.
protected String getDescription(MBeanFeatureInfo info)
Крючок кастомизации: получить описание, которое будет использовано в MBeanFeatureInfo, возвращаемом этим MBean.
protected String getDescription(MBeanInfo info)
Крючок кастомизации: получить описание, которое будет использовано в MBeanInfo, возвращаемом этим MBean.
protected String getDescription(MBeanOperationInfo info)
Крючок кастомизации: получить описание, которое будет использовано в MBeanOperationInfo, возвращаемом этим MBean.
protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Крючок кастомизации: получить описание, которое будет использовано для sequence MBeanParameterInfo MBeanOperationInfo, возвращаемого этим MBean.
protected int getImpact(MBeanOperationInfo info)
Крючок кастомизации: получить флаг impact операции, который будет использован в MBeanOperationInfo, возвращаемом этим MBean.
Object getImplementation()
Получить реализацию этого стандартного MBean (или MXBean).
Class<?> getImplementationClass()
Получить класс реализации этого стандартного MBean (или MXBean).
MBeanInfo getMBeanInfo()
Получить MBeanInfo для этого MBean.
final Class<?> getMBeanInterface()
Получить интерфейс управления этого стандартного MBean (или MXBean).
protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Крючок кастомизации: получить имя, которое будет использовано для sequence MBeanParameterInfo MBeanConstructorInfo, возвращаемого этим MBean.
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Крючок кастомизации: получить имя, которое будет использовано для sequence MBeanParameterInfo MBeanOperationInfo, возвращаемого этим MBean.
Object invoke(String actionName, Object[] params, String[] signature)
Позволяет вызвать действие на Dynamic MBean.
void postDeregister()
Позволяет MBean выполнить любые операции, необходимые после его отмены регистрации в сервере MBean.
void postRegister(Boolean registrationDone)
Позволяет MBean выполнить любые операции, необходимые после его регистрации в сервере MBean или после неудачи регистрации.
void preDeregister()
Позволяет MBean выполнить любые операции, необходимые перед отменённой регистрацией в сервере MBean.
ObjectName preRegister(MBeanServer server, ObjectName name)
Позволяет MBean выполнить любые операции, необходимые перед регистрацией в сервере MBean.
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 <T> StandardMBean(T implementation, Class<T> mbeanInterface) throws NotCompliantMBeanException

Создаёт DynamicMBean на основе объекта implementation с использованием указанного класса mbeanInterface.

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

StandardMBean

protected StandardMBean(Class<?> mbeanInterface) throws NotCompliantMBeanException

Создаёт DynamicMBean на основе this с использованием указанного класса mbeanInterface.

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

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

StandardMBean

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

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

Type Parameters:
T - Позволяет компилятору проверить, что implementation действительно реализует класс, описанный в mbeanInterface. Компилятор может проверить это только если mbeanInterface является литералом класса, таким как MyMBean.class.
Parameters:
implementation - Реализация данного MBean.
mbeanInterface - Интерфейс управления, экспортируемый реализацией данного MBean. Если null, то этот объект будет использовать стандартную схему JMX для определения интерфейса управления, связанного с данной реализацией.
isMXBean - Если true, параметр mbeanInterface указывает на интерфейс MXBean, и получившийся MBean является MXBean.
Throws:
IllegalArgumentException - если переданный implementation равен null, или mbeanInterface не соответствует схемам JMX для интерфейсов управления, или implementation не реализует указанный интерфейс.
Since:
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). Этот конструктор предназначен для подклассов.

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

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

setImplementation

public void setImplementation(Object implementation) throws NotCompliantMBeanException

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

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

getImplementation

public Object getImplementation()
Получить реализацию этого Standard MBean (или MXBean).
Returns:
Реализация этого Standard MBean (или MXBean).
See Also:
  • setImplementation(java.lang.Object)

getMBeanInterface

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

getImplementationClass

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

getAttribute

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

setAttribute

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

getAttributes

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

setAttributes

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

invoke

public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
Описание, скопированное из интерфейса: DynamicMBean
Позволяет вызвать действие на Dynamic 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)
Метод-крючок настройки: получить описание, которое будет использоваться для sequence MBeanParameterInfo MBeanConstructorInfo, возвращаемого этим MBean.
Подклассы могут переопределить этот метод, чтобы предоставить своё пользовательское описание. По умолчанию реализация возвращает param.getDescription().
Параметры:
ctor - MBeanConstructorInfo по умолчанию, полученный путём рефлексии.
param - MBeanParameterInfo по умолчанию, полученный путём рефлексии.
sequence - Номер последовательности рассматриваемого параметра ("0" для первого параметра, "1" для второго и т.д.).
Возвращает:
описание для данного MBeanParameterInfo.

getParameterName

protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Метод-крючок настройки: получить имя, которое будет использоваться для 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)
Метод-крючок настройки: получить флаг impact операции, который будет использоваться в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод, чтобы предоставить свой пользовательский флаг воздействия. По умолчанию реализация возвращает info.getImpact().
Параметры:
info - MBeanOperationInfo по умолчанию, полученный путём рефлексии.
Возвращает:
флаг воздействия для данного MBeanOperationInfo.

getParameterName

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

getDescription

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

getConstructors

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

getCachedMBeanInfo

protected MBeanInfo getCachedMBeanInfo()
Метод-хук настройки: Возвращает кешированный MBeanInfo для этого объекта.

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

Возвращает:
Кешированный MBeanInfo или null, если MBeanInfo не кэшируется.
См. также:
  • cacheMBeanInfo(MBeanInfo)

cacheMBeanInfo

protected void cacheMBeanInfo(MBeanInfo info)
Метод-хук настройки: Кэширует MBeanInfo, созданный для этого объекта.

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

Параметры:
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.

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

postRegister

public void postRegister(Boolean registrationDone)

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

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

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

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

preDeregister

public void preDeregister() throws Exception

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

По умолчанию этот метод ничего не делает.

Хорошей практикой для подкласса, переопределяющего этот метод, является вызов переопределённого метода через super.preDeregister(...).

Определено в:
preDeregister в интерфейсе MBeanRegistration
Исключения:
Exception - никакие проверенные исключения не выбрасываются этим методом, но Exception объявлен, чтобы подклассы могли переопределить этот метод и выбросить свои собственные исключения.
С тех пор, как:
1.6

postDeregister

public void postDeregister()

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

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

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

Определено в:
postDeregister в интерфейсе MBeanRegistration
С тех пор, как:
1.6

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/StandardMBean.html

Spec-Zone.ru

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