Spec-Zone.ru › OpenJDK 27

Класс JMXConnectorServer

java.lang.Object
javax.management.NotificationBroadcasterSupport
javax.management.remote.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 final 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)
Вызывается подклассом при открытии нового клиентского соединения.
String[] getConnectionIds()
Список идентификаторов текущих открытых соединений с этим сервером соединителей.
MBeanServer getMBeanServer()
Возвращает сервер MBean, к которому подключен этот сервер соединителей.
MBeanNotificationInfo[] getNotificationInfo()
Возвращает массив, указывающий уведомления, отправляемые этим MBean.
void postDeregister()
Позволяет MBean выполнить необходимые операции после отмены его регистрации на сервере MBean.
void postRegister(Boolean registrationDone)
Позволяет MBean выполнить необходимые операции после его регистрации на сервере MBean или после сбоя регистрации.
void preDeregister()
Вызывается сервером MBean при отмене регистрации этого сервера соединителей на сервере MBean.
ObjectName preRegister(MBeanServer mbs, ObjectName name)
Вызывается сервером MBean при регистрации этого сервера соединителей на сервере MBean.
void setMBeanServerForwarder(MBeanServerForwarder mbsf)
Вставляет объект, перехватывающий запросы к серверу MBean, поступающие через этот сервер соединителей.
JMXConnector toJMXConnector(Map<String,?> env)
Возвращает клиентскую заглушку для этого сервера соединителей.

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

addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
Модификатор и тип Метод Описание
void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Добавляет прослушиватель.
protected void handleNotification(NotificationListener listener, Notification notif, Object handback)
Этот метод вызывается методом sendNotification для каждого прослушивателя, чтобы отправить ему уведомление.
void removeNotificationListener(NotificationListener listener)
Удаляет прослушиватель из этого MBean.
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Удаляет прослушиватель из этого MBean.
void sendNotification(Notification notification)
Отправляет уведомление.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

getAddress
Модификатор и тип Метод Описание
JMXServiceURL getAddress()
Адрес этого объекта.

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

getAddress, getAttributes, isActive, start, stop
Модификатор и тип Метод Описание
JMXServiceURL getAddress()
Адрес этого сервера соединителей.
Map<String,?> getAttributes()
Атрибуты этого сервера соединителей.
boolean isActive()
Определяет, активен ли сервер соединителей.
void start()
Активирует сервер соединителей, то есть начинает прослушивать подключения клиентов.
void stop()
Деактивирует сервер соединителей, то есть прекращает прослушивать подключения клиентов.

Подробное описание полей

AUTHENTICATOR

public static final String AUTHENTICATOR

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

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

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

JMXConnectorServer

public JMXConnectorServer()

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

JMXConnectorServer

public JMXConnectorServer(MBeanServer mbeanServer)

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

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

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

getMBeanServer

public MBeanServer getMBeanServer()

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

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

setMBeanServerForwarder

public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
Описание скопировано из интерфейса: JMXConnectorServerMBean

Вставляет объект, перехватывающий запросы к серверу MBean, поступающие через этот сервер соединителей. Этот объект будет предоставляться в качестве MBeanServer для каждого нового соединения, создаваемого этим сервером соединителей. На существующие соединения это не влияет.

Этот метод можно вызывать несколько раз с разными объектами MBeanServerForwarder. В результате образуется цепочка перенаправителей. Последний добавленный перенаправитель становится первым в цепочке. Подробности:

  • Если этот сервер соединителей уже связан с объектом MBeanServer, этот объект передается методу mbsf.setMBeanServer. Если это приводит к исключению, метод выбрасывает то же исключение и не выполняет никаких других действий.

  • Если этот соединитель еще не связан с объектом MBeanServer или если упомянутый выше вызов mbsf.setMBeanServer завершается успешно, то mbsf становится MBeanServer этого сервера соединителей.

Определено в:
setMBeanServerForwarder в интерфейсе JMXConnectorServerMBean
Параметры:
mbsf — новый MBeanServerForwarder.

getConnectionIds

public String[] getConnectionIds()
Описание скопировано из интерфейса: JMXConnectorServerMBean

Список идентификаторов текущих открытых соединений с этим сервером соединителей.

Определено в:
getConnectionIds в интерфейсе JMXConnectorServerMBean
Возвращает:
новый массив строк, содержащий список идентификаторов. Если открытых в данный момент соединений нет, массив будет пустым.

toJMXConnector

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

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

Не каждый соединитель поддерживает создание клиентских заглушек. 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 в список, возвращаемый методом getConnectionIds(), а затем отправляет уведомление JMXConnectionNotification с типом JMXConnectionNotification.OPENED.

Параметры:
connectionId — идентификатор нового соединения. Он должен отличаться от идентификаторов всех соединений, ранее открытых этим сервером соединителей.
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 из списка, возвращаемого методом getConnectionIds(), а затем отправляет уведомление JMXConnectionNotification с типом JMXConnectionNotification.CLOSED.

Параметры:
connectionId — идентификатор закрытого соединения.
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 из списка, возвращаемого методом getConnectionIds(), а затем отправляет уведомление JMXConnectionNotification с типом JMXConnectionNotification.FAILED.

Параметры:
connectionId — идентификатор соединения, завершившегося сбоем.
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.

postRegister

public void postRegister(Boolean registrationDone)
Описание скопировано из интерфейса: MBeanRegistration
Позволяет MBean выполнить необходимые операции после регистрации на сервере MBean или после сбоя регистрации.

Если реализация этого метода выбрасывает RuntimeException или Error, сервер MBean повторно выбросит их, заключив соответственно в RuntimeMBeanException или RuntimeErrorException. Однако выбрасывание исключения в postRegister не изменит состояние MBean: если MBean уже зарегистрирован (registrationDone имеет значение true), он останется зарегистрированным.

Это может сбить с толку код, вызывающий createMBean() или registerMBean(), поскольку он может предположить, что регистрация MBean завершилась неудачей при возникновении такого исключения. Поэтому рекомендуется, по возможности, чтобы реализации postRegister не выбрасывали исключения RuntimeException или Error.

Определено в:
postRegister в интерфейсе MBeanRegistration
Параметры:
registrationDone — указывает, был ли MBean успешно зарегистрирован на сервере MBean. Значение false означает, что этап регистрации завершился неудачей.

preDeregister

public void preDeregister() throws Exception

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

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

postDeregister

public void postDeregister()
Описание скопировано из интерфейса: MBeanRegistration
Позволяет MBean выполнить необходимые операции после отмены его регистрации на сервере MBean.

Если реализация этого метода выбрасывает RuntimeException или Error, сервер MBean повторно выбросит их, заключив соответственно в RuntimeMBeanException или RuntimeErrorException. Однако выбрасывание исключения в postDeregister не изменит состояние MBean: отмена регистрации MBean уже успешно завершена, и он останется незарегистрированным.

Это может сбить с толку код, вызывающий unregisterMBean(), поскольку он может предположить, что отмена регистрации MBean завершилась неудачей. Поэтому рекомендуется, по возможности, чтобы реализации postDeregister не выбрасывали исключения RuntimeException или Error.

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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