Spec-Zone.ru › OpenJDK 27

Класс 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.

Системное свойство javax.management.builder.initial проверяется при каждой необходимости создать новый MBeanServer, а указанный в этом свойстве класс загружается. Если этот класс отличается от класса текущего 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
Модификатор и тип Метод Описание
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 или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.

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

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, 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