Spec-Zone.ru › OpenJDK 8

Интерфейс MBeanServer

Все суперинтерфейсы:
MBeanServerConnection
Все известные подинтерфейсы:
MBeanServerForwarder

public interface MBeanServer
extends MBeanServerConnection

Это интерфейс для управления MBean на стороне агента. Он содержит методы, необходимые для создания, регистрации и удаления MBean, а также методы доступа к зарегистрированным MBean. Это ключевой компонент инфраструктуры JMX.

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

Каждый MBean, добавленный в сервер MBean, становится управляемым: его атрибуты и операции становятся удаленно доступными через подключенные к этому серверу MBean адаптеры/коннекторы. Java-объект не может быть зарегистрирован на сервере MBean, если он не является совместимым с JMX MBean.

Когда MBean регистрируется или удаляется на сервере MBean, генерируется уведомление MBeanServerNotification. Чтобы зарегистрировать объект в качестве слушателя уведомлений MBeanServerNotifications, необходимо вызвать метод сервера MBean addNotificationListener с ObjectName ObjectName делегата MBeanServerDelegate. Этот ObjectName:
JMImplementation:type=MBeanServerDelegate.

Объект, полученный из методов класса createMBeanServer или newMBeanServer класса MBeanServerFactory, применяет проверки безопасности к своим методам следующим образом.

Во-первых, если менеджер безопасности отсутствует (System.getSecurityManager() равен null), то реализация этого интерфейса может не производить никаких проверок.

Предполагая, что менеджер безопасности существует или что реализация всё равно выбирает выполнять проверки, проверки выполняются, как подробно описано ниже. Далее, и если не указано иное, className — это строка, возвращаемая методом MBeanInfo.getClassName() для целевого MBean.

Если проверка безопасности завершается неудачно, метод выбрасывает исключение SecurityException.

Для методов, которые могут выбросить исключение InstanceNotFoundException, это исключение выбрасывается для несуществующего MBean независимо от разрешений. Это связано с тем, что несуществующий MBean не имеет className.

  • Для метода invoke разрешения вызывающего должны подразумевать MBeanPermission(className, operationName, name, "invoke").

  • Для метода getAttribute разрешения вызывающего должны подразумевать MBeanPermission(className, attribute, name, "getAttribute").

  • Для метода getAttributes разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "getAttribute"). Кроме того, для каждого атрибута a в AttributeList, если разрешения вызывающего не подразумевают MBeanPermission(className, a, name, "getAttribute"), сервер MBean будет вести себя так, как если бы этот атрибут не был в предоставленном списке.

  • Для метода setAttribute разрешения вызывающего должны подразумевать MBeanPermission(className, attrName, name, "setAttribute"), где attrName — это attribute.getName().

  • Для метода setAttributes разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "setAttribute"). Кроме того, для каждого атрибута a в AttributeList, если разрешения вызывающего не подразумевают MBeanPermission(className, a, name, "setAttribute"), сервер MBean будет вести себя так, как если бы этот атрибут не был в предоставленном списке.

  • Для методов addNotificationListener разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "addNotificationListener").

  • Для методов removeNotificationListener разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "removeNotificationListener").

  • Для метода getMBeanInfo разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "getMBeanInfo").

  • Для метода getObjectInstance разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "getObjectInstance").

  • Для метода isInstanceOf разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "isInstanceOf").

  • Для метода queryMBeans разрешения вызывающего должны подразумевать MBeanPermission(null, null, null, "queryMBeans"). Кроме того, для каждого MBean n, соответствующего name, если разрешения вызывающего не подразумевают MBeanPermission(className, null, n, "queryMBeans"), сервер MBean будет вести себя так, как если бы этот MBean не существовал.

    Определенные элементы запроса выполняют операции на сервере MBean. Если у вызывающего отсутствуют необходимые разрешения для данного MBean, этот MBean не будет включён в результаты запроса. Стандартные элементы запроса, на которые это влияет, это Query.attr(String), Query.attr(String,String) и Query.classattr().

  • Для метода queryNames проверки аналогичны проверкам для queryMBeans, за исключением того, что "queryNames" используется вместо "queryMBeans" в объектах MBeanPermission. Обратите внимание, что разрешение "queryMBeans" подразумевает соответствующее разрешение "queryNames".

  • Для метода getDomains разрешения вызывающего должны подразумевать MBeanPermission(null, null, null, "getDomains"). Кроме того, для каждого домена d в возвращаемом массиве, если разрешения вызывающего не подразумевают MBeanPermission(null, null, new ObjectName("d:x=x"), "getDomains"), домен удаляется из массива. Здесь x=x — любая пара ключ=значение, необходимая для удовлетворения конструктора ObjectName, но не имеющая иного значения.

  • Для метода getClassLoader разрешения вызывающего должны подразумевать MBeanPermission(className, null, loaderName, "getClassLoader").

  • Для метода getClassLoaderFor разрешения вызывающего должны подразумевать MBeanPermission(className, null, mbeanName, "getClassLoaderFor").

  • Для метода getClassLoaderRepository разрешения вызывающего должны подразумевать MBeanPermission(null, null, null, "getClassLoaderRepository").

  • Для устаревших deserialize методов требуемые разрешения такие же, как и для методов, которые их заменяют.

  • Для методов instantiate разрешения вызывающего должны подразумевать MBeanPermission(className, null, null, "instantiate"), где className — имя класса, который должен быть создан.

  • Для метода registerMBean разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "registerMBean").

    Если проверка MBeanPermission успешна, класс MBean проверяется на соответствие требованиям, проверяя, что его ProtectionDomain подразумевает MBeanTrustPermission("register").

    Наконец, если аргумент name равен null, выполняется ещё одна проверка MBeanPermission с использованием ObjectName , возвращаемого методом MBeanRegistration.preRegister.

  • Для методов createMBean разрешения вызывающего должны подразумевать разрешения, необходимые для эквивалентных методов instantiate и registerMBean.

  • Для метода unregisterMBean разрешения вызывающего должны подразумевать MBeanPermission(className, null, name, "unregisterMBean").

Since:
1.5

Методы

Модификатор и тип Метод и описание
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)

Добавляет слушателя к зарегистрированному MBean.

void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)

Добавляет слушателя к зарегистрированному MBean.

ObjectInstance createMBean(String className, ObjectName name)

Инициализирует и регистрирует MBean в сервере MBean.

ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)

Инициализирует и регистрирует MBean в сервере MBean.

ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)

Инициализирует и регистрирует MBean в сервере MBean.

ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)

Инициализирует и регистрирует MBean в сервере MBean.

ObjectInputStream deserialize(ObjectName name, byte[] data)

Устаревшее.

Используйте getClassLoaderFor для получения соответствующего загрузчика классов для десериализации.

ObjectInputStream deserialize(String className, byte[] data)

Устаревшее.

Используйте getClassLoaderRepository() для получения хранилища загрузчиков классов и используйте его для десериализации.

ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data)

Устаревшее.

Используйте getClassLoader для получения загрузчика классов для десериализации.

Object getAttribute(ObjectName name, String attribute)

Получает значение определенного атрибута именованного MBean.

AttributeList getAttributes(ObjectName name, String[] attributes)

Извлекает значения нескольких атрибутов именованного MBean.

ClassLoader getClassLoader(ObjectName loaderName)

Возвращает именованный ClassLoader.

ClassLoader getClassLoaderFor(ObjectName mbeanName)

Возвращает ClassLoader, который использовался для загрузки класса именованного MBean.

ClassLoaderRepository getClassLoaderRepository()

Возвращает ClassLoaderRepository для этого MBeanServer.

String getDefaultDomain()

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

String[] getDomains()

Возвращает список доменов, в которых в настоящее время зарегистрирован любой MBean.

Integer getMBeanCount()

Возвращает количество зарегистрированных MBean в сервере MBean.

MBeanInfo getMBeanInfo(ObjectName name)

Этот метод обнаруживает атрибуты и операции, которые экспонирует MBean для управления.

ObjectInstance getObjectInstance(ObjectName name)

Получает ObjectInstance для заданного MBean, зарегистрированного в сервере MBean.

Object instantiate(String className)

Инициализирует объект, используя список всех загрузчиков классов, зарегистрированных в хранилище загрузчиков классов сервера MBean Class Loader Repository.

Object instantiate(String className, Object[] params, String[] signature)

Инициализирует объект, используя список всех загрузчиков классов, зарегистрированных в сервере MBean Class Loader Repository.

Object instantiate(String className, ObjectName loaderName)

Инициализирует объект, используя указанный загрузчик классов по его ObjectName.

Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature)

Инициализирует объект.

Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)

Вызывает операцию над MBean.

boolean isInstanceOf(ObjectName name, String className)

Возвращает true, если указанный MBean является экземпляром указанного класса, в противном случае false.

boolean isRegistered(ObjectName name)

Проверяет, зарегистрирован ли MBean, идентифицируемый его именем объекта, в сервере MBean.

Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)

Получает MBeans, управляемые сервером MBean.

Set<ObjectName> queryNames(ObjectName name, QueryExp query)

Получает имена MBeans, управляемых сервером MBean.

ObjectInstance registerMBean(Object object, ObjectName name)

Регистрирует существующий объект как MBean в сервере MBean.

void removeNotificationListener(ObjectName name, NotificationListener listener)

Удаляет слушателя из зарегистрированного MBean.

void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)

Удаляет слушателя из зарегистрированного MBean.

void removeNotificationListener(ObjectName name, ObjectName listener)

Удаляет слушателя из зарегистрированного MBean.

void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)

Удаляет слушателя из зарегистрированного MBean.

void setAttribute(ObjectName name, Attribute attribute)

Устанавливает значение определенного атрибута именованного MBean.

AttributeList setAttributes(ObjectName name, AttributeList attributes)

Устанавливает значения нескольких атрибутов именованного MBean.

void unregisterMBean(ObjectName name)

Удаляет MBean из сервера MBean.

Методы

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name)
                    throws ReflectionException,
                           InstanceAlreadyExistsException,
                           MBeanRegistrationException,
                           MBeanException,
                           NotCompliantMBeanException

Инициализирует и регистрирует MBean в сервере MBean. Сервер MBean будет использовать свой Default Loader Repository для загрузки класса MBean. MBean ассоциируется с именем объекта. Если указанное имя объекта равно null, MBean должен предоставить собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.

Этот метод эквивалентен createMBean(className, name, (Object[]) null, (String[]) null).

Если этот метод успешно создаёт MBean, отправляется уведомление, как описано выше.

Определено в:
createMBean в интерфейсе MBeanServerConnection
Параметры:
className - Имя класса MBean, подлежащего инициализации.
name - Имя объекта MBean. Может быть null.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Исключения:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя класса, переданное в качестве параметра, равно null, имя объекта, переданное в качестве параметра, содержит шаблон или для MBean не указано ни одного ObjectName.
RuntimeMBeanException - Если конструктор MBean или методы preRegister или postRegister бросили исключение RuntimeException. Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение RuntimeException, метод createMBean бросит исключение RuntimeMBeanException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
RuntimeErrorException - Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение Error, метод createMBean бросит исключение RuntimeErrorException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeErrorException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызова конструктора MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean бросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean бросил исключение
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean
См. также:
MBeanRegistration

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName)
                    throws ReflectionException,
                           InstanceAlreadyExistsException,
                           MBeanRegistrationException,
                           MBeanException,
                           NotCompliantMBeanException,
                           InstanceNotFoundException

Инициализирует и регистрирует MBean в сервере MBean. Загрузчик классов определяется по имени объекта. MBean ассоциируется с именем объекта. Если имя объекта загрузчика равно null, используется ClassLoader, загрузивший сервер MBean. Если имя объекта MBean равно null, MBean должен предоставить собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.

Этот метод эквивалентен createMBean(className, name, loaderName, (Object[]) null, (String[]) null).

Если этот метод успешно создаёт MBean, отправляется уведомление, как описано выше.

Определено в:
createMBean в интерфейсе MBeanServerConnection
Параметры:
className - Имя класса MBean, подлежащего инициализации.
name - Имя объекта MBean. Может быть null.
loaderName - Имя объекта загрузчика классов, который будет использоваться.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Исключения:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя класса, переданное в качестве параметра, равно null, имя объекта, переданное в качестве параметра, содержит шаблон или для MBean не указано ни одного ObjectName.
RuntimeMBeanException - Если конструктор MBean или методы preRegister или postRegister бросили исключение RuntimeException. Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение RuntimeException, метод createMBean бросит исключение RuntimeMBeanException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
RuntimeErrorException - Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение Error, метод createMBean бросит исключение RuntimeErrorException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeErrorException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызова конструктора MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean бросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean бросил исключение
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере MBean.
См. также:
MBeanRegistration

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           Object[] params,
                           String[] signature)
                    throws ReflectionException,
                           InstanceAlreadyExistsException,
                           MBeanRegistrationException,
                           MBeanException,
                           NotCompliantMBeanException

Инициализирует и регистрирует MBean в сервере MBean. Сервер MBean будет использовать свой Default Loader Repository для загрузки класса MBean. MBean ассоциируется с именем объекта. Если указанное имя объекта равно null, MBean должен предоставить собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.

Если этот метод успешно создаёт MBean, отправляется уведомление, как описано выше.

Определено в:
createMBean в интерфейсе MBeanServerConnection
Параметры:
className - Имя класса MBean, подлежащего инициализации.
name - Имя объекта MBean. Может быть null.
params - Массив, содержащий параметры конструктора, который необходимо вызвать.
signature - Массив, содержащий сигнатуру конструктора, который необходимо вызвать.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Исключения:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя класса, переданное в качестве параметра, равно null, имя объекта, переданное в качестве параметра, содержит шаблон или для MBean не указано ни одного ObjectName.
RuntimeMBeanException - Если конструктор MBean или методы preRegister или postRegister бросили исключение RuntimeException. Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение RuntimeException, метод createMBean бросит исключение RuntimeMBeanException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
RuntimeErrorException - Если метод postRegister (интерфейс MBeanRegistration) MBean бросил исключение Error, метод createMBean бросит исключение RuntimeErrorException, хотя создание и регистрация MBean были успешны. В этом случае MBean будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeErrorException также может быть брошено preRegister, в этом случае MBean не будет зарегистрирован.
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызова конструктора MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean бросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean бросил исключение
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean
См. также:
MBeanRegistration

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           Object[] params,
                           String[] signature)
                    throws ReflectionException,
                           InstanceAlreadyExistsException,
                           MBeanRegistrationException,
                           MBeanException,
                           NotCompliantMBeanException,
                           InstanceNotFoundException

Создаёт и регистрирует управляемый объект (MBean) в сервере управляемых объектов. Загрузчик классов, который будет использоваться, определяется по имени объекта. Имя объекта ассоциировано с управляемым объектом. Если имя объекта загрузчика не указано, будет использован загрузчик классов, который загрузил сервер управляемых объектов. Если имя объекта управляемого объекта, переданное в качестве параметра, равно null, управляемый объект должен предоставить своё собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.

Если этот метод успешно создаёт управляемый объект, отправляется уведомление, как описано выше.

Specified by:
createMBean в интерфейсе MBeanServerConnection
Parameters:
className - Имя класса управляемого объекта, который необходимо создать.
name - Имя объекта управляемого объекта. Может быть равно null.
loaderName - Имя объекта загрузчика классов, который будет использоваться.
params - Массив, содержащий параметры конструктора, который необходимо вызвать.
signature - Массив, содержащий сигнатуру конструктора, который необходимо вызвать.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java класса вновь созданного управляемого объекта. Если содержимое ObjectName равно n, содержимое имени Java класса равно getMBeanInfo(n).getClassName().
Throws:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: переданное в качестве параметра имя класса равно null, переданное в качестве параметра имя объекта содержит шаблон или не указано имя объекта для управляемого объекта.
RuntimeMBeanException - Конструктор управляемого объекта или его метод preRegister или postRegister бросил исключение RuntimeException. Если метод postRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение RuntimeException, метод createMBean бросит исключение RuntimeMBeanException, хотя создание и регистрация управляемого объекта успешно завершились. В этом случае управляемый объект будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preRegister, в этом случае управляемый объект не будет зарегистрирован.
RuntimeErrorException - Если метод postRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение Error, метод createMBean бросит исключение RuntimeErrorException, хотя создание и регистрация управляемого объекта успешно завершились. В этом случае управляемый объект будет фактически зарегистрирован, даже если метод createMBean бросил исключение. Обратите внимание, что RuntimeErrorException также может быть брошено preRegister, в этом случае управляемый объект не будет зарегистрирован.
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызова конструктора управляемого объекта.
InstanceAlreadyExistsException - Управляемый объект уже находится под управлением сервера управляемых объектов.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение. Управляемый объект не будет зарегистрирован.
MBeanException - Конструктор управляемого объекта бросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX управляемым объектом.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере управляемых объектов.
See Also:
MBeanRegistration

registerMBean

ObjectInstance registerMBean(Object object,
                             ObjectName name)
                      throws InstanceAlreadyExistsException,
                             MBeanRegistrationException,
                             NotCompliantMBeanException

Регистрирует существующий объект как управляемый объект (MBean) на сервере управляемых объектов. Если имя объекта равно null, управляемый объект должен предоставить своё собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.

Если этот метод успешно регистрирует управляемый объект, отправляется уведомление, как описано выше.

Parameters:
object - Управляемый объект, который необходимо зарегистрировать как управляемый объект.
name - Имя объекта управляемого объекта. Может быть равно null.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java класса вновь зарегистрированного управляемого объекта. Если содержимое ObjectName равно n, содержимое имени Java класса равно getMBeanInfo(n).getClassName().
Throws:
InstanceAlreadyExistsException - Управляемый объект уже находится под управлением сервера управляемых объектов.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение. Управляемый объект не будет зарегистрирован.
RuntimeMBeanException - Если метод postRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение RuntimeException, метод registerMBean бросит исключение RuntimeMBeanException, хотя регистрация управляемого объекта прошла успешно. В этом случае управляемый объект будет фактически зарегистрирован, даже если метод registerMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preRegister, в этом случае управляемый объект не будет зарегистрирован.
RuntimeErrorException - Если метод postRegister (интерфейс MBeanRegistration) управляемого объекта бросил исключение Error, метод registerMBean бросит исключение RuntimeErrorException, хотя регистрация управляемого объекта прошла успешно. В этом случае управляемый объект будет фактически зарегистрирован, даже если метод registerMBean бросил исключение. Обратите внимание, что RuntimeErrorException также может быть брошено preRegister, в этом случае управляемый объект не будет зарегистрирован.
NotCompliantMBeanException - Этот объект не является совместимым с JMX управляемым объектом.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: переданный в качестве параметра объект равен null или не указано имя объекта.
See Also:
MBeanRegistration

unregisterMBean

void unregisterMBean(ObjectName name)
              throws InstanceNotFoundException,
                     MBeanRegistrationException

Удаляет управляемый объект (MBean) из сервера управляемых объектов. Управляемый объект определяется по его имени объекта. После вызова метода к управляемому объекту больше нельзя получить доступ по его имени объекта.

Если этот метод успешно удаляет управляемый объект, отправляется уведомление, как описано выше.

Specified by:
unregisterMBean в интерфейсе MBeanServerConnection
Parameters:
name - Имя объекта управляемого объекта, который необходимо удалить.
Throws:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя объекта в параметре равно null или управляемый объект, который вы пытаетесь удалить, является управляемым объектом MBeanServerDelegate.
RuntimeMBeanException - Если метод postDeregister (интерфейс MBeanRegistration) управляемого объекта бросил исключение RuntimeException, метод unregisterMBean бросит исключение RuntimeMBeanException, хотя удаление управляемого объекта прошло успешно. В этом случае управляемый объект будет фактически удалён, даже если метод unregisterMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preDeregister, в этом случае управляемый объект останется зарегистрированным.
RuntimeErrorException - Если метод postDeregister (интерфейс MBeanRegistration) управляемого объекта бросил исключение Error, метод unregisterMBean бросит исключение RuntimeErrorException, хотя удаление управляемого объекта прошло успешно. В этом случае управляемый объект будет фактически удалён, даже если метод unregisterMBean бросил исключение. Обратите внимание, что RuntimeMBeanException также может быть брошено preDeregister, в этом случае управляемый объект останется зарегистрированным.
InstanceNotFoundException - Управляемый объект, указанный в качестве параметра, не зарегистрирован на сервере управляемых объектов.
MBeanRegistrationException - Метод preDeregister (интерфейс MBeanRegistration) управляемого объекта бросил исключение.
See Also:
MBeanRegistration

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name)
                          throws InstanceNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Получение ObjectInstance для данного управляемого объекта, зарегистрированного на сервере управляемых объектов.

Specified by:
getObjectInstance в интерфейсе MBeanServerConnection
Parameters:
name - Имя объекта управляемого объекта.
Returns:
Объект ObjectInstance, связанный с управляемым объектом, заданным параметром name. Содержимое ObjectName равно name, а имя класса равно getMBeanInfo(name).getClassName().
Throws:
InstanceNotFoundException - Управляемый объект, указанный в качестве параметра, не зарегистрирован в сервере управляемых объектов.

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name,
                                QueryExp query)

Получение управляемых объектов, контролируемых сервером управляемых объектов. Этот метод позволяет получить следующее: все управляемые объекты, набор управляемых объектов, указанный с помощью сопоставления по шаблону имени объекта и/или выражения запроса, конкретный управляемый объект. При значении null для имени объекта или при отсутствии указанных доменных и ключевых свойств, выбираются все объекты (и отфильтровываются, если задан запрос). Возвращает набор объектов ObjectInstance (содержащих ObjectName и имя класса Java) для выбранных управляемых объектов.

Specified by:
queryMBeans в интерфейсе MBeanServerConnection
Parameters:
name - Шаблон имени объекта, определяющий управляемые объекты, которые необходимо получить. Если null или не указаны доменные и ключевые свойства, будут получены все зарегистрированные управляемые объекты.
query - Выражение запроса, которое необходимо применить для выбора управляемых объектов. Если null, выражение запроса не будет применено для выбора управляемых объектов.
Returns:
Набор, содержащий объекты ObjectInstance для выбранных управляемых объектов. Если ни один управляемый объект не соответствует запросу, возвращается пустой список.
Throws:
RuntimeOperationsException

queryNames

Set<ObjectName> queryNames(ObjectName name,
                           QueryExp query)

Получает имена MBean, управляемых сервером MBean. Этот метод позволяет получить следующее: имена всех MBean, имена набора MBean, указанные с помощью сопоставления по шаблону на ObjectName и/или выражение запроса, конкретное имя MBean (эквивалентно проверке регистрации MBean). Если имя объекта null или не указаны свойства домена и ключа, выбираются все объекты (и фильтруются, если задан запрос). Возвращает набор ObjectNames для выбранных MBean.

Определено в:
queryNames в интерфейсе MBeanServerConnection
Параметры:
name - Шаблон имени объекта, идентифицирующий имена MBean, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены имена всех зарегистрированных MBean.
query - Выражение запроса, которое должно применяться для выбора MBean. Если null, то для выбора MBean не будет применяться никакого выражения запроса.
Возвращает:
Набор, содержащий ObjectNames для выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
Выбрасывает:
RuntimeOperationsException

isRegistered

boolean isRegistered(ObjectName name)

Описание скопировано из интерфейса: MBeanServerConnection

Проверяет, зарегистрирован ли MBean, идентифицированный своим именем объекта, на сервере MBean.

Определено в:
isRegistered в интерфейсе MBeanServerConnection
Параметры:
name - Имя объекта MBean, который нужно проверить.
Возвращает:
True, если MBean уже зарегистрирован на сервере MBean, false в противном случае.
Выбрасывает:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Имя объекта в параметре равно null.

getMBeanCount

Integer getMBeanCount()

Возвращает количество зарегистрированных MBean на сервере MBean.

Определено в:
getMBeanCount в интерфейсе MBeanServerConnection
Возвращает:
количество зарегистрированных MBean, обернутое в Integer. Если разрешения вызывающего ограничены, это число может быть больше числа MBean, к которым у вызывающего есть доступ.

getAttribute

Object getAttribute(ObjectName name,
                    String attribute)
             throws MBeanException,
                    AttributeNotFoundException,
                    InstanceNotFoundException,
                    ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Получает значение определенного атрибута именованного MBean. MBean идентифицируется своим именем объекта.

Определено в:
getAttribute в интерфейсе MBeanServerConnection
Параметры:
name - Имя объекта MBean, из которого нужно получить атрибут.
attribute - Строка, определяющая имя атрибута, который нужно получить.
Возвращает:
Значение полученного атрибута.
Выбрасывает:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен null.
MBeanException - Оборачивает исключение, сгенерированное методом getter MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InstanceNotFoundException - Указанный MBean не зарегистрирован на сервере MBean.
ReflectionException - Оборачивает java.lang.Exception, сгенерированное при попытке вызова сеттера.
См. также:
MBeanServerConnection.setAttribute(javax.management.ObjectName, javax.management.Attribute)

getAttributes

AttributeList getAttributes(ObjectName name,
                            String[] attributes)
                     throws InstanceNotFoundException,
                            ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Получает значения нескольких атрибутов именованного MBean. MBean идентифицируется своим именем объекта.

Если один или несколько атрибутов не могут быть получены по какой-либо причине, они будут пропущены из возвращаемого AttributeList. Вызывающий должен проверить, что список имеет тот же размер, что и attributes массив. Чтобы узнать, что помешало получить определенный атрибут, вызовите getAttribute для этого атрибута.

Вот пример вызова этого метода и проверки того, что он успешно получил все запрошенные атрибуты:

String[] attrNames = ...;
 AttributeList list = mbeanServerConnection.getAttributes(objectName, attrNames);
 if (list.size() == attrNames.length)
     System.out.println("All attributes were retrieved successfully");
 else {
      List<String> missing = new  ArrayList<String>(Arrays.asList(attrNames));
     for (Attribute a : list.asList())
         missing.remove(a.getName());
     System.out.println("Did not retrieve: " + missing);
 }
Определено в:
getAttributes в интерфейсе MBeanServerConnection
Параметры:
name - Имя объекта MBean, из которого извлекаются атрибуты.
attributes - Список атрибутов, которые нужно получить.
Возвращает:
Список полученных атрибутов.
Выбрасывает:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибуты в параметре равны null.
InstanceNotFoundException - Указанный MBean не зарегистрирован на сервере MBean.
ReflectionException - Произошло исключение при попытке вызвать метод getAttributes у динамического MBean.
См. также:
MBeanServerConnection.setAttributes(javax.management.ObjectName, javax.management.AttributeList)

setAttribute

void setAttribute(ObjectName name,
                  Attribute attribute)
           throws InstanceNotFoundException,
                  AttributeNotFoundException,
                  InvalidAttributeValueException,
                  MBeanException,
                  ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Устанавливает значение определенного атрибута именованного MBean. MBean идентифицируется своим именем объекта.

Определено в:
setAttribute в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, в котором нужно установить атрибут.
attribute - Идентификатор атрибута, который нужно установить, и значение, на которое нужно установить.
Выбрасывает:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен null.
InstanceNotFoundException - Указанный MBean не зарегистрирован на сервере MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InvalidAttributeValueException - Указанное значение для атрибута недействительно.
MBeanException - Оборачивает исключение, сгенерированное методом setter MBean.
ReflectionException - Оборачивает java.lang.Exception при попытке вызова сеттера.
См. также:
MBeanServerConnection.getAttribute(javax.management.ObjectName, java.lang.String)

setAttributes

AttributeList setAttributes(ObjectName name,
                            AttributeList attributes)
                     throws InstanceNotFoundException,
                            ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Устанавливает значения нескольких атрибутов именованного MBean. MBean идентифицируется своим именем объекта.

Если один или несколько атрибутов не могут быть установлены по какой-либо причине, они будут пропущены из возвращаемого AttributeList. Вызывающий должен проверить, что входной AttributeList имеет тот же размер, что и выходной. Чтобы узнать, что помешало установить определенный атрибут, обычно можно вызвать setAttribute для этого атрибута, хотя это не гарантируется. (Например, значения двух атрибутов могут быть отклонены из-за несовместимости. Установка одного из них в одиночку может быть разрешена.)

Вот пример вызова этого метода и проверки того, что он успешно установил все запрошенные атрибуты:

AttributeList inputAttrs = ...;
 AttributeList outputAttrs = mbeanServerConnection.setAttributes(objectName, inputAttrs);
 if (inputAttrs.size() == outputAttrs.size())
     System.out.println("All attributes were set successfully");
 else {
      List<String> missing = new  ArrayList<String>();
     for (Attribute a : inputAttrs.asList())
         missing.add(a.getName());
     for (Attribute a : outputAttrs.asList())
         missing.remove(a.getName());
     System.out.println("Did not set: " + missing);
 }
Определено в:
setAttributes в интерфейсе MBeanServerConnection
Параметры:
name - Имя объекта MBean, в котором нужно установить атрибуты.
attributes - Список атрибутов: идентификация атрибутов, которые нужно установить, и значения, на которые нужно установить.
Возвращает:
Список атрибутов, которые были установлены, вместе с их новыми значениями.
Выбрасывает:
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибуты в параметре равны null.
InstanceNotFoundException - Указанный MBean не зарегистрирован на сервере MBean.
ReflectionException - Произошло исключение при попытке вызвать метод getAttributes у динамического MBean.
См. также:
MBeanServerConnection.getAttributes(javax.management.ObjectName, java.lang.String[])

invoke

Object invoke(ObjectName name,
              String operationName,
              Object[] params,
              String[] signature)
       throws InstanceNotFoundException,
              MBeanException,
              ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Вызывает операцию над MBean.

Из-за необходимости signature для различения потенциально перегруженных операций, намного проще вызывать операции через прокси MBean там, где это возможно. Например, предположим, у вас есть интерфейс Standard MBean такого рода:

public interface FooMBean {
     public int countMatches(String[] patterns, boolean ignoreCase);
 }

Операцию countMatches можно вызвать следующим образом:

String[] myPatterns = ...;
 int count = (Integer) mbeanServerConnection.invoke(
         objectName,
         "countMatches",
         new Object[] {myPatterns, true},
         new String[] {String[].class.getName(), boolean.class.getName()});

Или же её можно вызвать через прокси следующим образом:

String[] myPatterns = ...;
 FooMBean fooProxy = JMX.newMBeanProxy(
         mbeanServerConnection, objectName, FooMBean.class);
 int count = fooProxy.countMatches(myPatterns, true);
Определено в:
invoke в интерфейсе MBeanServerConnection
Параметры:
name - Имя объекта MBean, на котором нужно вызвать метод.
operationName - Имя операции, которую нужно вызвать.
params - Массив, содержащий параметры, которые нужно установить при вызове операции.
signature - Массив, содержащий сигнатуру операции, массив имён классов в формате, возвращаемом Class.getName(). Объекты классов будут загружены с помощью того же загрузчика классов, что и тот, который использовался для загрузки MBean, на котором была вызвана операция.
Возвращает:
Объект, возвращённый операцией, представляющий результат вызова операции над указанным MBean.
Выбрасывает:
InstanceNotFoundException - Указанный MBean не зарегистрирован на сервере MBean.
MBeanException - Оборачивает исключение, сгенерированное вызываемым методом MBean.
ReflectionException - Оборачивает java.lang.Exception при попытке вызвать метод.

getDefaultDomain

String getDefaultDomain()

Описание скопировано из интерфейса: MBeanServerConnection

Возвращает имя домена по умолчанию, используемое для именования MBean. Имя домена по умолчанию используется как часть ObjectName MBean, если пользователь не указывает домен.

Определено в:
getDefaultDomain в интерфейсе MBeanServerConnection
Возвращает:
домен по умолчанию.

getDomains

String[] getDomains()

Описание скопировано из интерфейса: MBeanServerConnection

Возвращает список доменов, в которых в настоящее время зарегистрирован любой MBean. Строка находится в возвращаемом массиве тогда и только тогда, когда существует хотя бы один MBean, зарегистрированный с ObjectName, чья getDomain() равна этой строке. Порядок строк в возвращаемом массиве не определен.

Указано в:
getDomains в интерфейсе MBeanServerConnection
Возвращает:
список доменов.

addNotificationListener

void addNotificationListener(ObjectName name,
                             NotificationListener listener,
                             NotificationFilter filter,
                             Object handback)
                      throws InstanceNotFoundException

Добавляет прослушиватель к зарегистрированному MBean. Уведомления, отправляемые MBean, будут переадресованы прослушивателю.

Если источником уведомления является ссылка на объект MBean, сервер MBean заменит его ObjectName этого MBean. В противном случае источник остается неизменным.
Указано в:
addNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, к которому следует добавить прослушиватель.
listener - Объект прослушивателя, который будет обрабатывать уведомления, отправляемые зарегистрированным MBean.
filter - Объект фильтра. Если filter имеет значение null, фильтрация не будет выполняться перед обработкой уведомлений.
handback - Контекст, который будет отправлен прослушивателю при отправке уведомления.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
См. также:
MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener), MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

addNotificationListener

void addNotificationListener(ObjectName name,
                             ObjectName listener,
                             NotificationFilter filter,
                             Object handback)
                      throws InstanceNotFoundException

Добавляет прослушиватель к зарегистрированному MBean.

Уведомление, отправленное MBean, будет переадресовано MBeanServer прослушивателю. Если источником уведомления является ссылка на объект MBean, сервер MBean заменит его ObjectName этого MBean. В противном случае источник остается неизменным.

Объект прослушивателя, который получает уведомления, это тот, который зарегистрирован с заданным именем в момент вызова этого метода. Даже если он будет позже отменен, он будет продолжать получать уведомления.

Указано в:
addNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, к которому следует добавить прослушиватель.
listener - Имя объекта прослушивателя, который будет обрабатывать уведомления, отправляемые зарегистрированным MBean.
filter - Объект фильтра. Если filter имеет значение null, фильтрация не будет выполняться перед обработкой уведомлений.
handback - Контекст, который будет отправлен прослушивателю при отправке уведомления.
Исключения:
RuntimeOperationsException - Оборачивает IllegalArgumentException. MBean с именем listener существует, но не реализует интерфейс NotificationListener.
InstanceNotFoundException - Имя MBean прослушивателя уведомлений или передатчика уведомлений не соответствует ни одному из зарегистрированных MBean.
См. также:
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName), MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener)
                         throws InstanceNotFoundException,
                                ListenerNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Удаляет прослушиватель из зарегистрированного MBean.

Если прослушиватель зарегистрирован более одного раза, возможно, с различными фильтрами или обратными вызовами, этот метод удалит все эти регистрации.

Указано в:
removeNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, из которого следует удалить прослушиватель.
listener - Имя объекта прослушивателя, который необходимо удалить.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Прослушиватель не зарегистрирован в MBean.
См. также:
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener,
                                NotificationFilter filter,
                                Object handback)
                         throws InstanceNotFoundException,
                                ListenerNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Удаляет прослушиватель из зарегистрированного MBean.

MBean должен иметь прослушиватель, точно соответствующий заданным параметрам listener, filter и handback. Если таких прослушивателей более одного, удаляется только один.

Параметры filter и handback могут иметь значение null тогда и только тогда, когда они имеют значение null в прослушивателе, который необходимо удалить.

Указано в:
removeNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, из которого следует удалить прослушиватель.
listener - Имя объекта прослушивателя, который необходимо удалить.
filter - Фильтр, который был указан при добавлении прослушивателя.
handback - Обратный вызов, который был указан при добавлении прослушивателя.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Прослушиватель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратным вызовом.
См. также:
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener)
                         throws InstanceNotFoundException,
                                ListenerNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Удаляет прослушиватель из зарегистрированного MBean.

Если прослушиватель зарегистрирован более одного раза, возможно, с различными фильтрами или обратными вызовами, этот метод удалит все эти регистрации.

Указано в:
removeNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, из которого следует удалить прослушиватель.
listener - Прослушиватель, который необходимо удалить.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Прослушиватель не зарегистрирован в MBean.
См. также:
MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener,
                                NotificationFilter filter,
                                Object handback)
                         throws InstanceNotFoundException,
                                ListenerNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Удаляет прослушиватель из зарегистрированного MBean.

MBean должен иметь прослушиватель, точно соответствующий заданным параметрам listener, filter и handback. Если таких прослушивателей более одного, удаляется только один.

Параметры filter и handback могут иметь значение null тогда и только тогда, когда они имеют значение null в прослушивателе, который необходимо удалить.

Указано в:
removeNotificationListener в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean, из которого следует удалить прослушиватель.
listener - Прослушиватель, который необходимо удалить.
filter - Фильтр, который был указан при добавлении прослушивателя.
handback - Обратный вызов, который был указан при добавлении прослушивателя.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Прослушиватель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратным вызовом.
См. также:
MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name)
                throws InstanceNotFoundException,
                       IntrospectionException,
                       ReflectionException

Описание скопировано из интерфейса: MBeanServerConnection

Этот метод определяет атрибуты и операции, которые MBean предоставляет для управления.

Указано в:
getMBeanInfo в интерфейсе MBeanServerConnection
Параметры:
name - Имя MBean для анализа
Возвращает:
Экземпляр MBeanInfo, позволяющий получать все атрибуты и операции этого MBean.
Исключения:
InstanceNotFoundException - Указанный MBean не найден.
IntrospectionException - Произошла ошибка во время интроспекции.
ReflectionException - Произошла ошибка при попытке вызвать getMBeanInfo динамического MBean.

isInstanceOf

boolean isInstanceOf(ObjectName name,
                     String className)
              throws InstanceNotFoundException

Описание скопировано из интерфейса: MBeanServerConnection

Возвращает true, если указанный MBean является экземпляром указанного класса, false в противном случае.

Если name не является именем MBean, этот метод вызывает исключение InstanceNotFoundException.

В противном случае, пусть
X будет MBean с именем name,
L будет загрузчиком классов X,
N будет именем класса в MBeanInfo X.

Если N равно className, результат true.

В противном случае, если L успешно загружает className и X является экземпляром этого класса, результат true.

В противном случае, если L успешно загружает как N, так и className, и второй класс присваивается из первого, результат true.

В противном случае, результат false.

Указано в:
isInstanceOf в интерфейсе MBeanServerConnection
Параметры:
name - ObjectName MBean.
className - имя класса.
Возвращает:
true, если указанный MBean является экземпляром указанного класса в соответствии с правилами выше, false в противном случае.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
См. также:
Class.isInstance(java.lang.Object)

instantiate

Object instantiate(String className)
            throws ReflectionException,
                   MBeanException

Создает объект, используя список всех загрузчиков классов, зарегистрированных в Class Loader Repository сервера MBean. Класс объекта должен иметь открытый конструктор. Этот метод возвращает ссылку на вновь созданный объект. Вновь созданный объект не зарегистрирован в сервере MBean.

Этот метод эквивалентен instantiate(className, (Object[]) null, (String[]) null).

Параметры:
className - имя класса объекта, который должен быть создан.
Возвращает:
Вновь созданный объект.
Исключения:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор объекта.
MBeanException - Конструктор объекта вызвал исключение
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное в параметре имя класса равно null.

instantiate

Object instantiate(String className,
                   ObjectName loaderName)
            throws ReflectionException,
                   MBeanException,
                   InstanceNotFoundException

Создает объект, используя загрузчик классов, указанный его ObjectName. Если имя загрузчика равно null, будет использоваться ClassLoader, который загрузил сервер MBean. Класс объекта должен иметь открытый конструктор. Этот метод возвращает ссылку на вновь созданный объект. Вновь созданный объект не зарегистрирован в сервере MBean.

Этот метод эквивалентен instantiate(className, loaderName, (Object[]) null, (String[]) null).

Параметры:
className - имя класса MBean, который должен быть создан.
loaderName - имя объекта загрузчика классов, который должен быть использован.
Возвращает:
Вновь созданный объект.
Исключения:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор объекта.
MBeanException - Конструктор объекта вызвал исключение.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в MBeanServer.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное в параметре имя класса равно null.

instantiate

Object instantiate(String className,
                   Object[] params,
                   String[] signature)
            throws ReflectionException,
                   MBeanException

Создает объект, используя список всех загрузчиков классов, зарегистрированных в Class Loader Repository сервера MBean. Класс объекта должен иметь открытый конструктор. Вызов возвращает ссылку на вновь созданный объект. Вновь созданный объект не зарегистрирован в сервере MBean.

Параметры:
className - имя класса объекта, который должен быть создан.
params - массив, содержащий параметры конструктора, который должен быть вызван.
signature - массив, содержащий сигнатуру конструктора, который должен быть вызван.
Возвращает:
Вновь созданный объект.
Исключения:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор объекта.
MBeanException - Конструктор объекта вызвал исключение
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное в параметре имя класса равно null.

instantiate

Object instantiate(String className,
                   ObjectName loaderName,
                   Object[] params,
                   String[] signature)
            throws ReflectionException,
                   MBeanException,
                   InstanceNotFoundException

Создает объект. Загрузчик классов, который будет использоваться, идентифицируется по его имени объекта. Если имя объекта загрузчика равно null, будет использоваться ClassLoader, который загрузил сервер MBean. Класс объекта должен иметь открытый конструктор. Вызов возвращает ссылку на вновь созданный объект. Вновь созданный объект не зарегистрирован в сервере MBean.

Параметры:
className - имя класса объекта, который должен быть создан.
params - массив, содержащий параметры конструктора, который должен быть вызван.
signature - массив, содержащий сигнатуру конструктора, который должен быть вызван.
loaderName - имя объекта загрузчика классов, который должен быть использован.
Возвращает:
Вновь созданный объект.
Исключения:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор объекта.
MBeanException - Конструктор объекта вызвал исключение
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное в параметре имя класса равно null.

deserialize

@Deprecated
ObjectInputStream deserialize(ObjectName name,
                                          byte[] data)
                                   throws InstanceNotFoundException,
                                          OperationsException

Устарело. Используйте getClassLoaderFor для получения соответствующего загрузчика классов для десериализации.

Десериализует массив байтов в контексте загрузчика классов MBean.

Параметры:
name - имя MBean, чей загрузчик классов должен использоваться для десериализации.
data - массив байтов, который должен быть десериализован.
Возвращает:
Десериализованный поток объектов.
Исключения:
InstanceNotFoundException - Указанный MBean не найден.
OperationsException - Любые обычные исключения, связанные с вводом/выводом.

deserialize

@Deprecated
ObjectInputStream deserialize(String className,
                                          byte[] data)
                                   throws OperationsException,
                                          ReflectionException

Устарело. Используйте getClassLoaderRepository() для получения хранилища загрузчиков классов и используйте его для десериализации.

Десериализует массив байтов в контексте заданного загрузчика классов MBean. Загрузчик классов находится путем загрузки класса className через Class Loader Repository. Загрузчик классов результирующего класса является тем, который нужно использовать.

Параметры:
className - имя класса, чей загрузчик классов должен использоваться для десериализации.
data - массив байтов, который должен быть десериализован.
Возвращает:
Десериализованный поток объектов.
Исключения:
OperationsException - Любые обычные исключения, связанные с вводом/выводом.
ReflectionException - Указанный класс не может быть загружен хранилищем загрузчиков классов

deserialize

@Deprecated
ObjectInputStream deserialize(String className,
                                          ObjectName loaderName,
                                          byte[] data)
                                   throws InstanceNotFoundException,
                                          OperationsException,
                                          ReflectionException

Устарело. Используйте getClassLoader для получения загрузчика классов для десериализации.

Десериализует массив байтов в контексте заданного загрузчика классов MBean. Загрузчик классов — это тот, который загрузил класс с именем "className". Указано имя загрузчика классов, который должен использоваться для загрузки указанного класса. Если null, будет использоваться загрузчик классов сервера MBean.

Параметры:
className - имя класса, чей загрузчик классов должен использоваться для десериализации.
data - массив байтов, который должен быть десериализован.
loaderName - имя загрузчика классов, который должен использоваться для загрузки указанного класса. Если null, будет использоваться загрузчик классов сервера MBean.
Возвращает:
Десериализованный поток объектов.
Исключения:
InstanceNotFoundException - Указанный MBean загрузчика классов не найден.
OperationsException - Любые обычные исключения, связанные с вводом/выводом.
ReflectionException - Указанный класс не может быть загружен указанным загрузчиком классов.

getClassLoaderFor

ClassLoader getClassLoaderFor(ObjectName mbeanName)
                       throws InstanceNotFoundException

Возвращает ClassLoader, который использовался для загрузки класса указанного MBean.

Параметры:
mbeanName - ObjectName MBean.
Возвращает:
ClassLoader, используемый для этого MBean. Если l — фактический ClassLoader MBean, и r — возвращаемое значение, то либо:
  • r идентичен l; или
  • результат r.loadClass(s) такой же, как l.loadClass(s) для любой строки s.
Это означает, что ClassLoader может быть обернут в другой ClassLoader по соображениям безопасности или по другим причинам.
Исключения:
InstanceNotFoundException - если указанный MBean не найден.

getClassLoader

ClassLoader getClassLoader(ObjectName loaderName)
                    throws InstanceNotFoundException

Возвращает указанный ClassLoader.

Параметры:
loaderName - Имя объекта ClassLoader. Может быть null, в этом случае возвращается собственный ClassLoader сервера MBean.
Возвращает:
Искомый ClassLoader. Если l — фактический ClassLoader с этим именем, а r — возвращаемое значение, то либо:
  • r идентичен l; или
  • результат r.loadClass(s) такой же, как l.loadClass(s) для любой строки s.
Это означает, что ClassLoader может быть обернут в другой ClassLoader по соображениям безопасности или по другим причинам.
Выбрасывает:
InstanceNotFoundException - если искомый ClassLoader не найден.

getClassLoaderRepository

ClassLoaderRepository getClassLoaderRepository()

Возвращает ClassLoaderRepository для данного сервера MBean.

Возвращает:
ClassLoaderRepository для данного сервера MBean.

© 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