Интерфейс MBeanRegistration
- Все известные реализующие классы:
-
CounterMonitor,GaugeMonitor,JMXConnectorServer,MLet,Monitor,PrivateMLet,RelationService,RelationSupport,RequiredModelMBean,RMIConnectorServer,StandardEmitterMBean,StandardMBean,StringMonitor,Timer
public interface MBeanRegistration
Может быть реализован MBean для выполнения операций до и после регистрации или отмены регистрации в сервере MBean. MBean также может реализовать этот интерфейс для получения ссылки на сервер MBean и/или его имени в этом сервере MBean.
- С:
- 1.5
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | postDeregister() | Позволяет MBean выполнять любые необходимые операции после отмены регистрации в сервере MBean. |
void | postRegister(Boolean registrationDone) | Позволяет MBean выполнять любые необходимые операции после регистрации в сервере MBean или после неудачной регистрации. |
void | preDeregister() | Позволяет MBean выполнять любые необходимые операции перед отменой регистрации сервером MBean. |
ObjectName | preRegister(MBeanServer server,
ObjectName name) | Позволяет MBean выполнять любые необходимые операции перед регистрацией в сервере MBean. |
Методы
preRegister
ObjectName preRegister(MBeanServer server,
ObjectName name)
throws ExceptionПозволяет MBean выполнять любые необходимые операции перед регистрацией в сервере MBean. Если имя MBean не указано, MBean может указать имя для регистрации. Если возникнет любое исключение, MBean не будет зарегистрирован в сервере MBean.
- Параметры:
-
server- Сервер MBean, в котором будет зарегистрирован MBean. -
name- Имя объекта MBean. Это имя равно null, если параметр name для одного изcreateMBeanилиregisterMBeanметодов в интерфейсеMBeanServerравен null. В этом случае этот метод должен вернуть не null ObjectName для нового MBean. - Возвращает:
- Имя, под которым MBean должен быть зарегистрирован. Это значение не должно быть null. Если параметр
nameне равен null, он обычно, но не обязательно, будет возвращаемым значением. - Исключение:
-
Exception- Это исключение будет перехвачено сервером MBean и переброшено какMBeanRegistrationException.
postRegister
void postRegister(Boolean registrationDone)
Позволяет MBean выполнять необходимые операции после регистрации в сервере MBean или после неудачной регистрации.
Если реализация этого метода вызывает RuntimeException или Error, сервер MBean перебросит их внутри RuntimeMBeanException или RuntimeErrorException соответственно. Однако, выброс исключения в postRegister не изменит состояние MBean: если MBean уже был зарегистрирован (registrationDone равно true), MBean останется зарегистрированным.
Это может быть неясно для кода, вызывающего createMBean() или registerMBean(), поскольку такой код может предположить, что регистрация MBean завершилась неудачей, когда такое исключение возникает. Поэтому рекомендуется, чтобы реализации postRegister не выбрасывали исключения Runtime или ошибки, если это возможно.
- Параметры:
-
registrationDone- Указывает, был ли MBean успешно зарегистрирован в сервере MBean. Значение false означает, что этап регистрации завершился неудачей.
preDeregister
void preDeregister()
throws ExceptionПозволяет MBean выполнять любые необходимые операции перед отменой регистрации сервером MBean.
- Исключение:
-
Exception- Это исключение будет перехвачено сервером MBean и переброшено какMBeanRegistrationException.
postDeregister
void postDeregister()
Позволяет MBean выполнять любые необходимые операции после отмены регистрации в сервере MBean.
Если реализация этого метода вызывает RuntimeException или Error, сервер MBean перебросит их внутри RuntimeMBeanException или RuntimeErrorException соответственно. Однако, выброс исключения в postDeregister не изменит состояние MBean: MBean уже был успешно отменен от регистрации и останется таковым.
Это может быть неясно для кода, вызывающего unregisterMBean(), поскольку он может предположить, что отмена регистрации MBean завершилась неудачей. Поэтому рекомендуется, чтобы реализации postDeregister не выбрасывали исключения Runtime или ошибки, если это возможно.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/MBeanRegistration.html