Spec-Zone.ru › OpenJDK 17

Пакет javax.management.remote

package 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:
  • Спецификация JMX, версия 1.4
java.management
java.management.rmi
Модуль Пакет Описание
javax.management
Предоставляет основные классы для Java Management Extensions.
javax.management.remote.rmi
Подключатель RMI — это подключатель для JMX Remote API, использующий RMI для передачи запросов клиента на удалённый сервер MBean.
Класс Описание
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API