Spec-Zone.ru › OpenJDK 24

Класс JMXConnectorFactory

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

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

Соединения обычно создаются с помощью метода 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. Ключи в этом map должны быть строками. Соответствующий тип каждого связанного значения зависит от атрибута. Содержимое environment не изменяется этим вызовом.
Возвращает:
объект JMXConnector, представляющий вновь созданное соединение. Каждый успешный вызов этого метода создаёт новый объект.
Исключения:
NullPointerException - если serviceURL равен null.
IOException - если клиент коннектора или соединение не могут быть установлены из-за проблемы с передачей данных.
SecurityException - если соединение не может быть установлено по соображениям безопасности.

newJMXConnector

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

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

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

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/remote/JMXConnectorFactory.html

Spec-Zone.ru

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