Spec-Zone.ru › OpenJDK 21

Пакет javax.management.remote

package 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:
  • Спецификация 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, 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

Spec-Zone.ru

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