Spec-Zone.ru › OpenJDK 17

Класс JMXConnectorFactory

java.lang.Object
javax.management.remote.JMXConnectorFactory
public class JMXConnectorFactory extends Object

Фабрика для создания клиентов соединений JMX API. Экземпляров этого класса нет.

Соединения обычно создаются с помощью метода connect этого класса. Более сложные приложения могут разделить создание клиента соединений, используя newJMXConnector, и установление самого соединения, используя JMXConnector.connect(Map).

Каждый клиент создаётся экземпляром JMXConnectorProvider. Этот экземпляр находится следующим образом. Предположим, заданная JMXServiceURL выглядит как "service:jmx:protocol:remainder". Тогда фабрика попытается найти соответствующий JMXConnectorProvider для protocol. Каждая встреча символа + или - в protocol заменяется на . или _, соответственно.

Происходит поиск списка пакетов поставщиков следующим образом:

  1. Если параметр environment метода newJMXConnector содержит ключ jmx.remote.protocol.provider.pkgs, то соответствующее значение — список пакетов поставщиков.
  2. В противном случае, если существует системная переменная jmx.remote.protocol.provider.pkgs, то её значение — список пакетов поставщиков.
  3. В противном случае, список пакетов поставщиков отсутствует.

Список пакетов поставщиков — это строка, интерпретируемая как список непустых имён Java-пакетов, разделённых вертикальными чертами (|). Если строка пустая, то и список пустой. Если список пакетов поставщиков не является строкой или содержит пустую строку, выбрасывается исключение JMXProviderException.

Если список пакетов поставщиков существует и не пуст, то для каждого элемента pkg списка фабрика попытается загрузить класс

pkg.protocol.ClientProvider

Если параметр environment метода newJMXConnector содержит ключ jmx.remote.protocol.provider.class.loader, то его соответствующее значение — загрузчик классов, используемый для загрузки поставщика. Если соответствующее значение не является экземпляром ClassLoader, выбрасывается исключение IllegalArgumentException.

Если ключ jmx.remote.protocol.provider.class.loader отсутствует в параметре environment, используется загрузчик классов контекста вызывающей нити.

Если попытка загрузки этого класса вызывает ClassNotFoundException, поиск обработчика продолжается с следующим элементом списка.

В противном случае, проблема с найденным поставщиком сигнализируется исключением JMXProviderException, у которого cause указывает на основное исключение следующим образом:

  • если попытка загрузки класса вызывает исключение, отличное от ClassNotFoundException, оно является причиной;
  • если Class.newInstance() для класса вызывает исключение, оно является причиной.

Если поставщик не найден по вышеописанным шагам, включая случай по умолчанию, когда список пакетов поставщиков отсутствует, реализация использует собственного поставщика для protocol, или выбрасывает исключение MalformedURLException, если такового нет. Реализация может выбрать поиск поставщиков другими способами. Например, она может поддерживать поставщиков сервисов, где интерфейс сервиса — JMXConnectorProvider.

Каждая реализация должна поддерживать протокол соединения RMI с транспортным средством RMI по умолчанию, заданным строкой rmi.

После нахождения поставщика результат метода newJMXConnector — результат вызова newJMXConnector на поставщике.

Параметр Map передаваемый методу JMXConnectorProvider — новый неизменяемый Map, содержащий все записи из параметра environment метода JMXConnectorFactory.newJMXConnector, если таковой был. Дополнительно, если ключ jmx.remote.protocol.provider.class.loader отсутствует в параметре environment, он добавляется в новый неизменяемый Map. Соответствующее значение — загрузчик классов контекста вызывающей нити.

Since:
1.5

Краткое описание полей

Модификатор и тип Поле Описание
static final String DEFAULT_CLASS_LOADER
Имя атрибута, указывающего загрузчик классов по умолчанию.
static final String PROTOCOL_PROVIDER_CLASS_LOADER
Имя атрибута, указывающего загрузчик классов для загрузки поставщиков протокола.
static final String PROTOCOL_PROVIDER_PACKAGES
Имя атрибута, указывающего пакеты поставщиков, которые рассматриваются при поиске обработчика для протокола.

Краткое описание методов

Модификатор и тип Метод Описание
static JMXConnector connect(JMXServiceURL serviceURL)
Создаёт соединение с сервером соединений по заданному адресу.
static JMXConnector connect(JMXServiceURL serviceURL, Map<String,?> environment)
Создаёт соединение с сервером соединений по заданному адресу.
static JMXConnector newJMXConnector(JMXServiceURL serviceURL, Map<String,?> environment)
Создаёт клиента соединения для сервера соединений по заданному адресу.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

DEFAULT_CLASS_LOADER

public static final String DEFAULT_CLASS_LOADER

Имя атрибута, определяющего стандартный класс загрузчик. Этот класс загрузчик используется для десериализации возвращаемых значений и исключений из удалённых MBeanServerConnection вызовов. Значение, связанное с этим атрибутом, представляет собой экземпляр ClassLoader.

См. также:
  • Значения постоянных полей

PROTOCOL_PROVIDER_PACKAGES

public static final String PROTOCOL_PROVIDER_PACKAGES

Имя атрибута, определяющего пакеты поставщиков, которые проверяются при поиске обработчика протокола. Значение, связанное с этим атрибутом, представляет собой строку с именами пакетов, разделённых вертикальной чертой (|).

См. также:
  • Значения постоянных полей

PROTOCOL_PROVIDER_CLASS_LOADER

public static final String PROTOCOL_PROVIDER_CLASS_LOADER

Имя атрибута, определяющего класс загрузчик для загрузки поставщиков протоколов. Значение, связанное с этим атрибутом, представляет собой экземпляр ClassLoader.

См. также:
  • Значения постоянных полей

Подробное описание методов

connect

public static JMXConnector connect(JMXServiceURL serviceURL) throws IOException

Создаёт соединение с сервером подключения по указанному адресу.

Этот метод эквивалентен connect(serviceURL, null).

Параметры:
serviceURL - адрес сервера подключения для соединения.
Возвращает:
объект JMXConnector, у которого метод connect был вызван.
Исключения:
NullPointerException - если serviceURL равно null.
IOException - если клиент подключения или соединение не могут быть установлены из-за проблемы с общением.
SecurityException - если соединение не может быть установлено по соображениям безопасности.

connect

public static JMXConnector connect(JMXServiceURL serviceURL, Map<String,?> environment) throws IOException

Создаёт соединение с сервером подключения по указанному адресу.

Этот метод эквивалентен:

 JMXConnector conn = JMXConnectorFactory.newJMXConnector(serviceURL,
                                                         environment);
 conn.connect(environment);
 
Параметры:
serviceURL - адрес сервера подключения для соединения.
environment - набор атрибутов, определяющих, как устанавливается соединение. Этот параметр может быть null. Ключи в этой карте должны быть строками. Соответствующий тип каждого связанного значения зависит от атрибута. Содержимое environment этим вызовом не изменяется.
Возвращает:
объект JMXConnector , представляющий новое подключение. Каждый успешный вызов этого метода создаёт другой объект.
Исключения:
NullPointerException - если serviceURL равно null.
IOException - если клиент подключения или соединение не могут быть установлены из-за проблемы с общением.
SecurityException - если соединение не может быть установлено по соображениям безопасности.

newJMXConnector

public static JMXConnector newJMXConnector(JMXServiceURL serviceURL, Map<String,?> environment) throws IOException

Создаёт клиента подключения к серверу подключения по заданному адресу. Результирующий клиент не подключён до тех пор, пока не будет вызван его метод connect.

Параметры:
serviceURL - адрес сервера подключения для соединения.
environment - набор атрибутов, определяющих, как устанавливается соединение. Этот параметр может быть null. Ключи в этой карте должны быть строками. Соответствующий тип каждого связанного значения зависит от атрибута. Содержимое environment этим вызовом не изменяется.
Возвращает:
объект JMXConnector , представляющий нового клиента подключения. Каждый успешный вызов этого метода создаёт другой объект.
Исключения:
NullPointerException - если serviceURL равно null.
IOException - если клиент подключения не может быть создан из-за проблемы с общением.
MalformedURLException - если нет поставщика для протокола в serviceURL.
JMXProviderException - если есть поставщик для протокола в serviceURL, но он не может быть использован по какой-либо причине.

© 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/JMXConnectorFactory.html

Spec-Zone.ru

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