Пакет javax.management.remote
Интерфейсы для удаленного доступа к серверам JMX MBean. Этот пакет определяет основные интерфейсы для удаленного управления сервером JMX MBean. Спецификация этой функциональности завершена частью III спецификации JMX, версия 1.4.
Спецификация JMX определяет понятие коннекторов. Коннектор прикрепляется к серверу JMX API MBean и делает его доступным для удаленных 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, 2023, 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/21/docs/api/java.management/javax/management/remote/package-summary.html