Интерфейс 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.