Spec-Zone.ru › OpenJDK 25

Класс 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.

Начиная с версии:
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
Создает DynamicMBean из this, используя указанный класс mbeanInterface.
protected
Создает DynamicMBean из this, используя указанный класс mbeanInterface, и позволяет выбрать, будет ли результирующий MBean объектом MXBean.
 <T> 
Создает DynamicMBean из объекта implementation, используя указанный класс mbeanInterface.
 <T> 
Создает DynamicMBean из объекта implementation, используя указанный класс 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)
Точка расширения для настройки: получает описание, которое будет использоваться для MBeanParameterInfo с номером sequence в 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)
Точка расширения для настройки: получает описание, которое будет использоваться для MBeanParameterInfo с номером sequence в 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)
Точка расширения для настройки: получает имя, которое будет использоваться для MBeanParameterInfo с номером sequence в MBeanConstructorInfo, возвращаемом этим MBean.
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Точка расширения для настройки: получает имя, которое будет использоваться для MBeanParameterInfo с номером sequence в 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)
Заменяет объект реализации, обернутый этим объектом.

Методы, объявленные в классе 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.

Параметры типа:
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 <T> 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(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, выброшенное методом получения значения MBean.
ReflectionException — оборачивает исключение java.lang.Exception, выброшенное при попытке вызвать метод получения значения.
См. также:
  • DynamicMBean.setAttribute(Attribute)

setAttribute

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

getAttributes

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

setAttributes

public AttributeList setAttributes(AttributeList attributes)
Описание скопировано из интерфейса: DynamicMBean
Задает значения нескольких атрибутов Dynamic MBean.
Определено в:
setAttributes в интерфейсе DynamicMBean
Параметры:
attributes — список атрибутов: идентификаторы атрибутов и значения, которые им нужно присвоить.
Возвращает:
список заданных атрибутов с их новыми значениями.
См. также:
  • DynamicMBean.getAttributes(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, используя заданный для него интерфейс управления.

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

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

getClassName

protected String getClassName(MBeanInfo info)
Хук настройки: возвращает className, используемое в 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 с номером sequence в MBeanConstructorInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод, чтобы предоставить собственное описание. Реализация по умолчанию возвращает param.getDescription().
Параметры:
ctor — MBeanConstructorInfo по умолчанию, полученный с помощью рефлексии.
param — MBeanParameterInfo по умолчанию, полученный с помощью рефлексии.
sequence — порядковый номер рассматриваемого параметра («0» для первого параметра, «1» для второго и т. д.).
Возвращает:
описание для указанного MBeanParameterInfo.

getParameterName

protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Хук настройки: возвращает имя, используемое для MBeanParameterInfo с номером sequence в 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)
Хук настройки: возвращает имя, используемое для MBeanParameterInfo с номером sequence в MBeanOperationInfo, возвращаемом этим MBean.
Подклассы могут переопределить этот метод, чтобы задать собственное имя параметра. Реализация по умолчанию возвращает param.getName().
Параметры:
op — MBeanOperationInfo по умолчанию, полученный с помощью рефлексии.
param — MBeanParameterInfo по умолчанию, полученный с помощью рефлексии.
sequence — порядковый номер рассматриваемого параметра («0» для первого параметра, «1» для второго и т. д.).
Возвращает:
имя для указанного MBeanParameterInfo.

getDescription

protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Хук настройки: возвращает описание, используемое для MBeanParameterInfo с номером sequence в 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. Для Standard MBean метод не выполняет никаких других действий. Для MXBean он сохраняет параметры MBeanServer и ObjectName, чтобы их можно было использовать для преобразования ссылок между MXBean.

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

Определено в:
preRegister в интерфейсе MBeanRegistration
Параметры:
server — сервер MBean, на котором будет зарегистрирован MBean.
name — имя объекта MBean. Это имя равно null, если параметр имени одного из методов createMBean или registerMBean интерфейса MBeanServer равен 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 или после неудачной попытки регистрации.

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

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

Определено в:
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.

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/StandardMBean.html

Spec-Zone.ru

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