Spec-Zone.ru › OpenJDK 24

Класс MBeanServerFactory

java.lang.Object
javax.management.MBeanServerFactory
public class MBeanServerFactory extends Object

Предоставляет ссылки на серверы MBean. Экземпляры этого класса отсутствуют.

С JMX 1.2 этот класс позволяет заменить реализацию сервера MBean по умолчанию. Это делается с помощью класса MBeanServerBuilder. Класс первоначального MBeanServerBuilder, который должен быть создан, может быть задан через системную переменную среды javax.management.builder.initial. Указанный класс должен быть общедоступным подклассом MBeanServerBuilder и должен иметь общедоступный пустой конструктор.

По умолчанию, если для этой переменной не задано значение, создается экземпляр javax.management.MBeanServerBuilder. В противном случае, MBeanServerFactory пытается загрузить указанный класс, используя Thread.currentThread().getContextClassLoader(), или, если он равен null, Class.forName(). Затем он создает первоначальный экземпляр этого класса, используя Class.newInstance(). Если при этом процессе возникает какое-либо исключение (например, ClassNotFoundException, InstantiationException), MBeanServerFactory распространит это исключение изнутри RuntimeException.

Системная переменная среды javax.management.builder.initial проверяется каждый раз, когда требуется создать новый сервер MBean, и загружается класс, на который указывает эта переменная. Если этот класс отличается от класса текущего MBeanServerBuilder, то создается новый MBeanServerBuilder. В противном случае, MBeanServerFactory может создать новый MBeanServerBuilder или повторно использовать текущий.

Если класс, на который указывает переменная, не может быть загружен или не соответствует допустимому подклассу MBeanServerBuilder, то исключение распространяется, и создание сервера MBean невозможно до тех пор, пока системная переменная среды javax.management.builder.initial не будет переустановлена на действительное значение.

MBeanServerBuilder позволяет обернуть серверы MBean, возвращаемые реализацией MBeanServerBuilder по умолчанию, например, для добавления дополнительного уровня безопасности.

Since:
1.5

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

Модификатор и тип Метод Описание
static MBeanServer createMBeanServer()
Возвращает новый объект, реализующий интерфейс MBeanServer с именем домена по умолчанию.
static MBeanServer createMBeanServer(String domain)
Возвращает новый объект, реализующий интерфейс MBeanServer с указанным именем домена по умолчанию.
static ArrayList<MBeanServer> findMBeanServer(String agentId)
Возвращает список зарегистрированных объектов MBeanServer.
static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
Возвращает ClassLoaderRepository, используемый данным MBeanServer.
static MBeanServer newMBeanServer()
Возвращает новый объект, реализующий интерфейс MBeanServer с именем домена по умолчанию, без сохранения внутренней ссылки на этот новый объект.
static MBeanServer newMBeanServer(String domain)
Возвращает новый объект, реализующий интерфейс MBeanServer с указанным именем домена по умолчанию, без сохранения внутренней ссылки на этот новый объект.
static void releaseMBeanServer(MBeanServer mbeanServer)
Удаляет внутренние ссылки MBeanServerFactory на созданный MBeanServer.

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

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

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

releaseMBeanServer

public static void releaseMBeanServer(MBeanServer mbeanServer)
Удалить внутренние ссылки MBeanServerFactory на созданный MBeanServer. Это позволяет сборщику мусора удалить объект MBeanServer.
Параметры:
mbeanServer - объект MBeanServer для удаления.
Исключения:
IllegalArgumentException - если mbeanServer не был сгенерирован одним из методов createMBeanServer или если метод releaseMBeanServer уже был вызван для него.

createMBeanServer

public static MBeanServer createMBeanServer()

Возвращает новый объект, реализующий интерфейс MBeanServer, со стандартным именем домена по умолчанию. Имя домена по умолчанию используется как часть имени объекта MBean, когда пользовательский домен равен null.

Стандартное имя домена по умолчанию — DefaultDomain.

Ссылка на MBeanServer сохраняется во внутренней памяти. Это позволит методу findMBeanServer возвращать ссылку на этот объект MBeanServer.

Этот метод эквивалентен методу createMBeanServer(null).

Возвращает:
новый созданный MBeanServer.
Исключения:
JMRuntimeException - если свойство javax.management.builder.initial существует, но класс, которое оно называет, не может быть создан через публичный конструктор без аргументов; или если созданный билдер возвращает null от метода newMBeanServerDelegate или newMBeanServer.
ClassCastException - если свойство javax.management.builder.initial существует и может быть создано, но несовместимо по присваиванию с MBeanServerBuilder.

createMBeanServer

public static MBeanServer createMBeanServer(String domain)

Возвращает новый объект, реализующий интерфейс MBeanServer, со специфицированным именем домена по умолчанию. Указанное имя домена используется как часть имени объекта MBean, когда пользовательский домен равен null.

Ссылка на MBeanServer сохраняется во внутренней памяти. Это позволит методу findMBeanServer возвращать ссылку на этот объект MBeanServer.

Параметры:
domain - имя домена по умолчанию для созданного MBeanServer. Это значение, которое будет возвращено методом MBeanServer.getDefaultDomain().
Возвращает:
новый созданный MBeanServer.
Исключения:
JMRuntimeException - если свойство javax.management.builder.initial существует, но класс, которое оно называет, не может быть создан через публичный конструктор без аргументов; или если созданный билдер возвращает null от метода newMBeanServerDelegate или newMBeanServer.
ClassCastException - если свойство javax.management.builder.initial существует и может быть создано, но несовместимо по присваиванию с MBeanServerBuilder.

newMBeanServer

public static MBeanServer newMBeanServer()

Возвращает новый объект, реализующий интерфейс MBeanServer, со стандартным именем домена по умолчанию, без сохранения внутренней ссылки на этот новый объект. Имя домена по умолчанию используется как часть имени объекта MBean, когда пользовательский домен равен null.

Стандартное имя домена по умолчанию — DefaultDomain.

Ссылка не сохраняется. findMBeanServer не сможет вернуть ссылку на этот объект MBeanServer, но сборщик мусора сможет удалить объект MBeanServer, когда на него больше нет ссылок.

Этот метод эквивалентен методу newMBeanServer(null).

Возвращает:
новый созданный MBeanServer.
Исключения:
JMRuntimeException - если свойство javax.management.builder.initial существует, но класс, которое оно называет, не может быть создан через публичный конструктор без аргументов; или если созданный билдер возвращает null от метода newMBeanServerDelegate или newMBeanServer.
ClassCastException - если свойство javax.management.builder.initial существует и может быть создано, но несовместимо по присваиванию с MBeanServerBuilder.

newMBeanServer

public static MBeanServer newMBeanServer(String domain)

Возвращает новый объект, реализующий интерфейс MBeanServer, со специфицированным именем домена по умолчанию, без сохранения внутренней ссылки на этот новый объект. Указанное имя домена используется как часть имени объекта MBean, когда пользовательский домен равен null.

Ссылка не сохраняется. findMBeanServer не сможет вернуть ссылку на этот объект MBeanServer, но сборщик мусора сможет удалить объект MBeanServer, когда на него больше нет ссылок.

Параметры:
domain - имя домена по умолчанию для созданного MBeanServer. Это значение, которое будет возвращено методом MBeanServer.getDefaultDomain().
Возвращает:
новый созданный MBeanServer.
Исключения:
JMRuntimeException - если свойство javax.management.builder.initial существует, но класс, которое оно называет, не может быть создан через публичный конструктор без аргументов; или если созданный билдер возвращает null от метода newMBeanServerDelegate или newMBeanServer.
ClassCastException - если свойство javax.management.builder.initial существует и может быть создано, но несовместимо по присваиванию с MBeanServerBuilder.

findMBeanServer

public static ArrayList<MBeanServer> findMBeanServer(String agentId)

Возвращает список зарегистрированных объектов MBeanServer. Зарегистрированный объект MBeanServer — это объект, созданный одним из методов createMBeanServer и не высвобожденный позже с помощью метода releaseMBeanServer.

Параметры:
agentId - идентификатор агента MBeanServer для извлечения. Если этот параметр равен null, возвращаются все зарегистрированные MBeanServer в этом JVM. В противном случае возвращаются только MBeanServer, чей идентификатор равен agentId. Идентификатор MBeanServer — это атрибут MBeanServerId его делегата MBean.
Возвращает:
Список объектов MBeanServer.

getClassLoaderRepository

public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
Возвращает ClassLoaderRepository, используемый заданным MBeanServer. Этот метод эквивалентен server.getClassLoaderRepository().
Параметры:
server - MBeanServer, который рассматривается. Начиная с JMX 1.2, если server равен null, результатом является NullPointerException. Это поведение отличается от того, что было реализовано в JMX 1.1 — где возможность использовать null была устаревшей.
Возвращает:
Класс загрузчик репозитория, используемый заданным MBeanServer.
Исключения:
NullPointerException - если server равен null.

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

Spec-Zone.ru

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