Класс 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 |
Возвращает новый объект, реализующий интерфейс MBeanServer, с указанным доменным именем по умолчанию. |
static ArrayList |
findMBeanServer |
Возвращает список зарегистрированных объектов MBeanServer. |
static ClassLoaderRepository |
getClassLoaderRepository |
Возвращает ClassLoaderRepository, используемый указанным MBeanServer. |
static MBeanServer |
newMBeanServer() |
Возвращает новый объект, реализующий интерфейс MBeanServer со стандартным доменным именем по умолчанию, не сохраняя внутреннюю ссылку на этот новый объект. |
static MBeanServer |
newMBeanServer |
Возвращает новый объект, реализующий интерфейс MBeanServer с указанным доменным именем по умолчанию, не сохраняя внутреннюю ссылку на этот новый объект. |
static void |
releaseMBeanServer |
Удаляет внутренние ссылки MBeanServerFactory на созданный MBeanServer. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание методов
releaseMBeanServer
public static void releaseMBeanServer(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)
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.