Пакет javax.management.remote
Интерфейсы для удаленного доступа к серверам JMX MBean. Этот пакет определяет основные интерфейсы для удаленного управления сервером JMX MBean. Спецификация этой функциональности завершается частью III спецификации JMX Specification, версия 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 — это любой дополнительный текст, который сервер коннектора добавляет при создании идентификатора клиента. По меньшей мере, он должен быть достаточным для различения этого идентификатора соединения от идентификатора любого другого соединения, в настоящее время открытого этим сервером коннектора.
- Since:
- 1.5
- See Also:
| Класс | Описание |
|---|---|
| JMXAddressable | Реализуется объектами, которые могут иметь JMXServiceURL адрес. |
| JMXAuthenticator | Интерфейс для определения того, как удаленные учетные данные преобразуются в объект JAAS Subject. |
| JMXConnectionNotification | Уведомление, которое генерируется при открытии или закрытии соединения клиента, или при потере уведомлений. |
| JMXConnector | Клиентский конец соединителя JMX API. |
| JMXConnectorFactory | Фабрика для создания клиентов соединителей JMX API. |
| JMXConnectorProvider | Провайдер для создания клиентов соединителей JMX API, используя заданный протокол. |
| JMXConnectorServer | Базовый класс для каждого сервера соединений. |
| JMXConnectorServerFactory | Фабрика для создания серверов соединений JMX API. |
| JMXConnectorServerMBean | Интерфейс MBean для серверов соединений. |
| JMXConnectorServerProvider | Провайдер для создания серверов соединений JMX API, используя заданный протокол. |
| JMXPrincipal | Идентификатор удаленного клиента JMX Remote API. |
| JMXProviderException | Исключение, выбрасываемое JMXConnectorFactory и JMXConnectorServerFactory, когда провайдер существует для требуемого протокола, но не может быть использован по какой-либо причине. |
| JMXServerErrorException | Исключение, выбрасываемое в результате вызова удаленного метода MBeanServer, когда при обработке вызова на удаленном сервере MBean возникает Error. |
| JMXServiceURL | Адрес сервера соединений JMX API. |
| MBeanServerForwarder | Объект этого класса реализует интерфейс MBeanServer и обертывает другой объект, который также реализует этот интерфейс. |
| NotificationResult | Результат запроса для буферизованных уведомлений. |
| SubjectDelegationPermission | Разрешение, необходимое идентификатору аутентификации для выполнения операций от имени идентификатора авторизации. |
| TargetedNotification | Пара (Уведомление, Идентификатор слушателя). |
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/remote/package-summary.html