Spec-Zone.ru › OpenJDK 8

Класс 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, возвращаемые реализацией сервера MBean по умолчанию, например, для добавления дополнительного уровня безопасности.

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, используемый данным сервером MBean.

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 уже был вызван для него.
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("releaseMBeanServer").

createMBeanServer

public static MBeanServer createMBeanServer()

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

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

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

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

Возвращаемое значение:
новый созданный MBeanServer.
Исключения:
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("createMBeanServer").
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.
Исключения:
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("createMBeanServer").
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.
Исключения:
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("newMBeanServer").
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.
Исключения:
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("newMBeanServer").
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, у которых id равен agentId. Идентификатор MBeanServer — это атрибут MBeanServerId делегата MBean.
Возвращаемое значение:
Список объектов MBeanServer.
Исключения:
SecurityException - если существует SecurityManager и разрешения вызывающего не включают или не подразумевают MBeanServerPermission("findMBeanServer").

getClassLoaderRepository

public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)

Возвращает ClassLoaderRepository, используемый данным MBeanServer. Этот метод эквивалентен server.getClassLoaderRepository().

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

© 1993, 2020, 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