Spec-Zone.ru › OpenJDK 25

Класс MBeanServerFactory

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

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

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

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

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

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

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

Начиная с версии:
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.

Методы, объявленные в классе 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, со стандартным доменным именем по умолчанию. Доменное имя по умолчанию используется в качестве доменной части ObjectName управляемых компонентов 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, с указанным доменным именем по умолчанию. Указанное доменное имя используется в качестве доменной части ObjectName управляемых компонентов 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, со стандартным доменным именем по умолчанию, не сохраняя внутреннюю ссылку на этот новый объект. Доменное имя по умолчанию используется в качестве доменной части ObjectName управляемых компонентов 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, с указанным доменным именем по умолчанию, не сохраняя внутреннюю ссылку на этот новый объект. Указанное доменное имя используется в качестве доменной части ObjectName управляемых компонентов 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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/MBeanServerFactory.html

Spec-Zone.ru

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