Пакет 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, но доступны из реализации JMX Remote API справочная реализация.
Адреса коннекторов
Как правило, сервер коннектора имеет адрес, представленный классом 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, 2021, 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/17/docs/api/java.management/javax/management/remote/package-summary.html