Класс JMXConnectorServer

Все реализованные интерфейсы:
MBeanRegistration, NotificationBroadcaster, NotificationEmitter, JMXAddressable, JMXConnectorServerMBean
Прямые известные подклассы:
RMIConnectorServer
public abstract class JMXConnectorServer
extends NotificationBroadcasterSupport
implements JMXConnectorServerMBean, MBeanRegistration, JMXAddressable

Базовый класс для каждого сервера подключения. Сервер подключения прикреплен к серверу MBean. Он прослушивает запросы подключения клиентов и создает соединение для каждого из них.

Сервер подключения связан с сервером MBean либо путем его регистрации в этом сервере MBean, либо путем передачи сервера MBean в его конструктор.

Сервер подключения неактивен при создании. Он начинает прослушивать запросы подключений клиентов только после вызова метода start. Сервер подключения прекращает прослушивание запросов подключений клиентов после вызова метода stop или при его дерегистрации с сервера MBean.

Остановка сервера подключения не приводит к его дерегистрации с сервера MBean. Остановленный сервер подключения нельзя перезапустить.

Каждый раз, когда клиентское подключение устанавливается или разрывается, генерируется уведомление класса JMXConnectionNotification.

С:
1.5

Поля

Модификатор и тип Поле Описание
static String AUTHENTICATOR

Имя атрибута, определяющего аутентификатор для сервера подключения.

Конструкторы

Конструктор Описание
JMXConnectorServer()

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

JMXConnectorServer​(MBeanServer mbeanServer)

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

Методы

Модификатор и тип Метод Описание
protected void connectionClosed​(String connectionId, String message, Object userData)

Вызывается подклассом, когда клиентское подключение закрывается нормально.

protected void connectionFailed​(String connectionId, String message, Object userData)

Вызывается подклассом, когда клиентское подключение завершается с ошибкой.

protected void connectionOpened​(String connectionId, String message, Object userData)

Вызывается подклассом, когда открывается новое клиентское подключение.

MBeanServer getMBeanServer()

Возвращает сервер MBean, к которому подключен этот сервер подключения.

MBeanNotificationInfo[] getNotificationInfo()

Возвращает массив, указывающий на уведомления, которые отправляет этот MBean.

void preDeregister()

Вызывается сервером MBean, когда этот сервер подключения дерегистрируется с этого сервера MBean.

ObjectName preRegister​(MBeanServer mbs, ObjectName name)

Вызывается сервером MBean, когда этот сервер подключения регистрируется на этом сервере MBean.

JMXConnector toJMXConnector​(Map<String,​?> env)

Возвращает заглушку клиента для этого сервера подключения.

Методы, объявленные в классе javax.management.NotificationBroadcasterSupport

addNotificationListener, handleNotification, sendNotification

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

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

Методы, объявленные в интерфейсе javax.management.remote.JMXAddressable

getAddress

Методы, объявленные в интерфейсе javax.management.remote.JMXConnectorServerMBean

getAddress, getAttributes, getConnectionIds, isActive, setMBeanServerForwarder, start, stop

Методы, объявленные в интерфейсе javax.management.MBeanRegistration

postDeregister, postRegister

Методы, объявленные в интерфейсе javax.management.NotificationBroadcaster

removeNotificationListener

Методы, объявленные в интерфейсе javax.management.NotificationEmitter

removeNotificationListener

Поля

AUTHENTICATOR

public static final String AUTHENTICATOR

Имя атрибута, указывающего на аутентификатор для сервера подключения. Значение, связанное с этим атрибутом, если оно есть, должно быть объектом, реализующим интерфейс JMXAuthenticator.

См. также:
Значения константных полей

Конструкторы

JMXConnectorServer

public JMXConnectorServer()

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

JMXConnectorServer

public JMXConnectorServer(MBeanServer mbeanServer)

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

Параметры:
mbeanServer - сервер MBean, к которому прикреплён этот сервер подключения. Нулевой, если этот сервер подключения будет прикреплён к серверу MBean путём регистрации в нём.

Методы

getMBeanServer

public MBeanServer getMBeanServer()

Возвращает сервер MBean, к которому прикреплён этот сервер подключения.

Возвращает:
сервер MBean, к которому прикреплён этот сервер подключения, или null, если он ещё не прикреплён к серверу MBean.

toJMXConnector

public JMXConnector toJMXConnector(Map<String,​?> env)
                            throws IOException

Возвращает заглушку клиента для этого сервера подключения. Заглушка клиента — это сериализуемый объект, чей метод connect может быть использован для создания нового соединения с этим сервером подключения.

Данное подключение может не поддерживать создание заглушек клиента. Однако подключение, указанное в JMX Remote API (JMXMP и RMI подключение), поддерживает.

Реализация данного метода по умолчанию использует JMXConnectorServerMBean.getAddress() и JMXConnectorFactory для создания заглушки, с кодом, эквивалентным следующему:

JMXServiceURL addr = getAddress();
 return JMXConnectorFactory.newJMXConnector(addr, env);

Сервер подключения, для которого это неприменимо, должен переопределить этот метод, так чтобы он реализовывал соответствующую логику или выбрасывал исключение UnsupportedOperationException.

Определено в:
toJMXConnector в интерфейсе JMXConnectorServerMBean
Параметры:
env - параметры подключения клиента того же типа, которые можно предоставить методу JMXConnector.connect(Map). Может быть null, что эквивалентно пустому списку.
Возвращает:
заглушку клиента, которую можно использовать для создания нового соединения с этим сервером подключения.
Исключения:
UnsupportedOperationException - если этот сервер подключения не поддерживает создание заглушек клиента.
IllegalStateException - если JMXConnectorServer не запущен (см. JMXConnectorServerMBean.isActive()).
IOException - если проблема с коммуникацией означает, что заглушка не может быть создана.

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()

Возвращает массив, указывающий уведомления, которые отправляет этот MBean. Реализация в JMXConnectorServer возвращает массив с одним элементом, указывающим, что он может отправлять уведомления класса JMXConnectionNotification с типами, определёнными в этом классе. Подкласс, способный отправлять другие уведомления, должен вернуть массив, который содержит этот элемент плюс описания других уведомлений.

Определено в:
getNotificationInfo в интерфейсе NotificationBroadcaster
Возвращает:
массив возможных уведомлений.

connectionOpened

protected void connectionOpened(String connectionId,
                                String message,
                                Object userData)

Вызывается подклассом при открытии нового подключения клиента. Добавляет connectionId в список, возвращаемый JMXConnectorServerMBean.getConnectionIds(), затем отправляет JMXConnectionNotification с типом JMXConnectionNotification.OPENED.

Параметры:
connectionId - ID нового подключения. Он должен отличаться от ID любого подключения, ранее открытого этим сервером подключения.
message - сообщение для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getMessage().
userData - userData для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getUserData().
Исключения:
NullPointerException - если connectionId равно null.

connectionClosed

protected void connectionClosed(String connectionId,
                                String message,
                                Object userData)

Вызывается подклассом, когда клиентское подключение закрывается нормально. Удаляет connectionId из списка, возвращаемого JMXConnectorServerMBean.getConnectionIds(), затем отправляет JMXConnectionNotification с типом JMXConnectionNotification.CLOSED.

Параметры:
connectionId - ID закрытого подключения.
message - сообщение для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getMessage().
userData - userData для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getUserData().
Исключения:
NullPointerException - если connectionId равно null.

connectionFailed

protected void connectionFailed(String connectionId,
                                String message,
                                Object userData)

Вызывается подклассом, когда подключение клиента завершается неудачно. Удаляет connectionId из списка, возвращаемого JMXConnectorServerMBean.getConnectionIds(), затем отправляет JMXConnectionNotification с типом JMXConnectionNotification.FAILED.

Параметры:
connectionId - ID неудачного подключения.
message - сообщение для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getMessage().
userData - userData для отправляемого JMXConnectionNotification. Может быть null. См. Notification.getUserData().
Исключения:
NullPointerException - если connectionId равно null.

preRegister

public ObjectName preRegister(MBeanServer mbs,
                              ObjectName name)

Вызывается сервером MBean, когда этот сервер подключения регистрируется в этом сервере MBean. Этот сервер подключения становится прикреплённым к серверу MBean, и его метод getMBeanServer() вернёт mbs.

Если этот сервер подключения уже прикреплён к серверу MBean, этот метод не имеет эффекта. Сервер MBean, к которому он прикреплён, не обязательно тот, в котором он регистрируется.

Определено в:
preRegister в интерфейсе MBeanRegistration
Параметры:
mbs - сервер MBean, в котором регистрируется этот сервер подключения.
name - Имя объекта MBean.
Возвращает:
Имя, под которым MBean должен быть зарегистрирован.
Исключения:
NullPointerException - если mbs или name равно null.

preDeregister

public void preDeregister()
                   throws Exception

Вызывается сервером MBean, когда этот сервер подключения аннулируется из этого сервера MBean. Если этот сервер подключения был прикреплён к этому серверу MBean путём регистрации в нём, и если сервер подключения всё ещё активен, то его аннулирование вызовет метод stop. Если метод stop выбросит исключение, попытка аннулирования завершится неудачей. Рекомендуется вызывать метод stop явно перед аннулированием MBean.

Определено в:
preDeregister в интерфейсе MBeanRegistration
Исключения:
IOException - если выброшено методом stop.
Exception - Это исключение будет поймано сервером MBean и повторно выброшено как MBeanRegistrationException.

© 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/remote/JMXConnectorServer.html

Spec-Zone .ru
спецификации, руководства, описания, API