Пакет javax.management.remote

Интерфейсы для удалённого доступа к серверам JMX MBean. Этот пакет определяет основные интерфейсы, необходимые для удалённого управления сервером JMX MBean. Спецификация этой функциональности завершена частью III Спецификации JMX, версия 1.4.

Спецификация JMX определяет понятие коннекторов. Коннектор прикреплён к серверу MBean API JMX и делает его доступным для удалённых Java-клиентов. Клиентская сторона коннектора экспортирует по существу тот же интерфейс, что и сервер MBean, в частности интерфейс MBeanServerConnection.

Коннектор делает сервер MBean удалённо доступным через заданный протокол. JMX Remote API позволяет использовать различные типы коннекторов:

  • JMX Remote API определяет стандартный коннектор, коннектор RMI, который предоставляет удалённый доступ к MBeanServer через RMI.
  • JMX Remote API также определяет необязательный коннектор, коннектор JMXMP, реализующий протокол сообщений JMX (JMXMP). Поскольку он является необязательным, он не входит в этот пакет (см. примечание ниже).
  • Пользовательские протоколы коннекторов также возможны с помощью JMXConnectorFactory и, необязательно, с помощью универсального коннектора (не входит в этот пакет, см. примечание ниже).

Примечание: необязательные пакеты, реализующие необязательную часть JMX Remote API, не включены в Java SE Platform, но доступны из реализации JMX Remote API Reference Implementation.

Адреса коннекторов

Обычно сервер коннектора имеет адрес, представленный классом JMXServiceURL. Адрес для коннектора RMI может выглядеть так:

service:jmx:rmi:///jndi/rmi://myhost:1099/myname

В этом JMXServiceURL, первый rmi: указывает на коннектор RMI, а второй rmi: указывает на RMI-реестр, в который сервер коннектора RMI сохранил свой заглушку.

Приведённый пример показывает только один формат адреса. Адрес для коннектора RMI может иметь несколько форм, как подробно описано в документации для пакета javax.management.remote.rmi.

Создание сервера коннектора

Сервер коннектора создаётся путём построения экземпляра подкласса JMXConnectorServer. Обычно этот экземпляр создаётся с помощью метода JMXConnectorServerFactory.newJMXConnectorServer.

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

Создание клиента коннектора

Клиент коннектора обычно создаётся путём предоставления JMXServiceURL сервера коннектора, к которому нужно подключиться, методу JMXConnectorFactory.connect.

Для более специализированных случаев клиент коннектора может быть создан путём непосредственного создания класса, реализующего интерфейс JMXConnector, например, класса RMIConnector.

Дополнительные параметры клиента или сервера

При создании клиента или сервера коннектора можно предоставить объект типа Map, который определяет дополнительные параметры. Каждый элемент в этом Map имеет ключ, являющийся строкой, и соответствующее значение, тип которого подходит для этого ключа. Стандартные ключи, определённые JMX Remote API, все начинаются со строки "jmx.remote.". В документе JMX Remote API перечислены эти стандартные ключи.

Идентификаторы соединений

Каждое подключение, открытое сервером коннектора, имеет строковый идентификатор, называемый его идентификатором подключения. Этот идентификатор появляется в событиях JMXConnectionNotification, излучаемых сервером коннектора, в списке, возвращаемом методом getConnectionIds(), и в значении, возвращаемом методом клиента getConnectionId().

Например, идентификатор соединения может выглядеть так:

rmi://192.18.1.9 username 1

Формальная грамматика идентификаторов подключений, следующая этой конвенции, приведена ниже (используя обозначение грамматики из раздела 2.4 Спецификации языка Java™):

ConnectionId:
    Protocol : ClientAddressopt Space ClientIdopt Space ArbitraryText

ClientAddress:
    // HostAddress ClientPortopt

ClientPort
    : HostPort

Protocol — это протокол, который будет распознан JMXConnectorFactory.

ClientAddress — это адрес и порт подключающегося клиента, если они могут быть определены, в противном случае ничего. HostAddress — это интернет-адрес хоста, с которого подключается клиент, в числовом или DNS-формате. Численные IPv6-адреса заключены в квадратные скобки []. HostPort — это десятичный номер порта, с которого подключается клиент.

ClientId — это идентификатор сущности клиента, обычно строка, возвращаемая методом JMXPrincipal.getName(). Эта строка не должна содержать пробелов.

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

С момента:
1.5
См. также:
Спецификация JMX, версия 1.4
Интерфейс Описание
JMXAddressable

Реализуется объектами, которые могут иметь адрес JMXServiceURL.

JMXAuthenticator

Интерфейс для определения того, как удалённые учётные данные преобразуются в объект JAAS Subject.

JMXConnector

Клиентская сторона коннектора API JMX.

JMXConnectorProvider

Поставщик для создания клиентов коннекторов API JMX с использованием заданного протокола.

JMXConnectorServerMBean

Интерфейс MBean для серверов коннекторов.

JMXConnectorServerProvider

Поставщик для создания серверов коннекторов API JMX с использованием заданного протокола.

MBeanServerForwarder

Объект этого класса реализует интерфейс MBeanServer и оборачивает другой объект, также реализующий этот интерфейс.

Класс Описание
JMXConnectionNotification

Уведомление, издаваемое при открытии или закрытии соединения клиента, или при потере уведомлений.

JMXConnectorFactory

Фабрика для создания клиентов коннекторов API JMX.

JMXConnectorServer

Базовый класс каждого сервера коннектора.

JMXConnectorServerFactory

Фабрика для создания серверов коннекторов API JMX.

JMXPrincipal

Идентификатор удалённого клиента JMX Remote API.

JMXServiceURL

Адрес сервера коннектора API JMX.

NotificationResult

Результат запроса для буферизованных уведомлений.

SubjectDelegationPermission

Разрешение, необходимое для идентификатора аутентификации для выполнения операций от имени идентификатора авторизации.

TargetedNotification

Пара (уведомление, идентификатор слушателя).

Исключение Описание
JMXProviderException

Исключение, выброшенное JMXConnectorFactory и JMXConnectorServerFactory при существовании поставщика для необходимого протокола, но он не может быть использован по какой-либо причине.

JMXServerErrorException

Исключение, выброшенное в результате удалённого вызова метода MBeanServer, когда Error выброшено во время обработки вызова на удалённом сервере MBean.

© 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/package-summary.html

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