Spec-Zone.ru › OpenJDK 27

Класс JMXConnectorServerFactory

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

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

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

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

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

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

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

pkg.protocol.ServerProvider

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

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

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

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

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

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

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

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

Параметр Map, передаваемый методу JMXConnectorServerProvider, представляет собой новую доступную только для чтения Map, содержащую все записи, которые находились в параметре environment метода JMXConnectorServerFactory.newJMXConnectorServer, если такой параметр был задан. Кроме того, если ключ jmx.remote.protocol.provider.class.loader отсутствует в параметре environment, он добавляется в новую доступную только для чтения Map. Связанным значением является загрузчик классов контекста вызывающего потока.

Начиная с версии:
1.5

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

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

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

Модификатор и тип Метод Описание
static JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL, Map<String,?> environment, MBeanServer mbeanServer)
Создает сервер соединителей по указанному адресу.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать до пробуждения, обычно вследствие вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать до пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

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

DEFAULT_CLASS_LOADER

public static final String DEFAULT_CLASS_LOADER

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

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

DEFAULT_CLASS_LOADER_NAME

public static final String DEFAULT_CLASS_LOADER_NAME

Имя атрибута, задающего имя MBean загрузчика классов по умолчанию. Этот загрузчик классов используется для десериализации объектов в запросах, полученных от клиента, возможно, после обращения к загрузчику классов, связанному с конкретным MBean. Связанное с этим атрибутом значение является экземпляром ObjectName.

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

PROTOCOL_PROVIDER_PACKAGES

public static final String PROTOCOL_PROVIDER_PACKAGES

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

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

PROTOCOL_PROVIDER_CLASS_LOADER

public static final String PROTOCOL_PROVIDER_CLASS_LOADER

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

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

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

newJMXConnectorServer

public static JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL, Map<String,?> environment, MBeanServer mbeanServer) throws IOException

Создает сервер соединителей по указанному адресу. Созданный сервер не запускается до вызова его метода start.

Параметры:
serviceURL — адрес нового сервера соединителей. Фактический адрес нового сервера соединителей, возвращаемый его методом getAddress, не обязательно будет в точности совпадать с указанным. Например, он может содержать номер порта, если исходный адрес его не содержал.
environment — набор атрибутов для управления поведением нового сервера соединителей. Этот параметр может иметь значение null. Ключи в этой карте должны быть строками. Требуемый тип каждого связанного значения зависит от атрибута. Содержимое environment этим вызовом не изменяется.
mbeanServer — сервер MBean, к которому подключен этот сервер соединителей. Значение null, если этот сервер соединителей будет подключен к серверу MBean путем регистрации в нем.
Возвращает:
JMXConnectorServer, представляющий новый сервер соединителей. Каждый успешный вызов этого метода создает отдельный объект.
Выбрасывает:
NullPointerException — если serviceURL имеет значение null.
IOException — если сервер соединителей не удалось создать из-за проблемы связи.
MalformedURLException — если для протокола в serviceURL нет поставщика.
JMXProviderException — если для протокола в serviceURL есть поставщик, но по какой-либо причине его нельзя использовать.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзор концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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