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