Интерфейс MBeanServerConnection
- Все известные подинтерфейсы:
-
MBeanServer,MBeanServerForwarder
public interface MBeanServerConnection
Этот интерфейс представляет способ взаимодействия с сервером MBean, как локальным, так и удалённым. Интерфейс MBeanServer, представляющий локальный сервер MBean, расширяет этот интерфейс.
- С момента:
- 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. |
Object | getAttribute(ObjectName name,
String attribute) | Получает значение определённого атрибута заданного MBean. |
AttributeList | getAttributes(ObjectName name,
String[] attributes) | Получает значения нескольких атрибутов заданного MBean. |
String | getDefaultDomain() | Возвращает стандартный домен, используемый для именования MBean. |
String[] | getDomains() | Возвращает список доменов, в которых в данный момент зарегистрирован любой MBean. |
Integer | getMBeanCount() | Возвращает количество зарегистрированных MBean на сервере MBean. |
MBeanInfo | getMBeanInfo(ObjectName name) | Этот метод определяет атрибуты и операции, которые MBean предоставляет для управления. |
ObjectInstance | getObjectInstance(ObjectName name) | Получает |
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) | Получает MBean, управляемые сервером MBean. |
Set<ObjectName> | queryNames(ObjectName name,
QueryExp query) | Получает имена 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,
IOException Инициализирует и регистрирует MBean в сервере MBean. Сервер MBean будет использовать свой Default Loader
Repository для загрузки класса MBean. MBean ассоциируется с именем объекта. Если указанное имя объекта равно null, MBean должен предоставить своё собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.
Этот метод эквивалентен createMBean(className, name, (Object[]) null, (String[])
null).
- Параметры:
-
className- Имя класса MBean, который требуется создать. -
name- Имя объекта MBean. Может быть null. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийObjectNameравенn, то содержащее имя Java-класса равно.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызова конструктора MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
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 не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: переданное в качестве параметра имя класса равно null, переданное в качестве параметра имя объекта содержит шаблон или для MBean не указано имя объекта. -
IOException- Произошла проблема связи при общении с сервером MBean. - См. также:
MBeanRegistration
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
ObjectName loaderName)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
InstanceNotFoundException,
IOException Инициализирует и регистрирует MBean в сервере MBean. Используемый загрузчик классов определяется по имени объекта. MBean ассоциируется с именем объекта. Если имя объекта загрузчика равно null, используется загрузчик классов, который загрузил сервер MBean. Если заданное имя объекта MBean равно null, MBean должен предоставить своё собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.
Этот метод эквивалентен createMBean(className, name, loaderName, (Object[]) null,
(String[]) null).
- Параметры:
-
className- Имя класса MBean, который требуется создать. -
name- Имя объекта MBean. Может быть null. -
loaderName- Имя объекта загрузчика классов, который нужно использовать. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийObjectNameравенn, то содержащее имя Java-класса равно.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызова конструктора MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
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 не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован в сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: переданное в качестве параметра имя класса равно null, переданное в качестве параметра имя объекта содержит шаблон или для MBean не указано имя объекта. -
IOException- Произошла проблема связи при общении с сервером MBean. - См. также:
MBeanRegistration
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
Object[] params,
String[] signature)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
IOException Инициализирует и регистрирует MBean в сервере MBean. Сервер MBean будет использовать свой Default Loader
Repository для загрузки класса MBean. MBean ассоциируется с именем объекта. Если указанное имя объекта равно null, MBean должен предоставить своё собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister метода.
- Параметры:
-
className- Имя класса MBean, который требуется создать. -
name- Имя объекта MBean. Может быть null. -
params- Массив, содержащий параметры вызываемого конструктора. -
signature- Массив, содержащий сигнатуру вызываемого конструктора. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийObjectNameравенn, то содержащее имя Java-класса равно.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызова конструктора MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
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 не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: переданное в качестве параметра имя класса равно null, переданное в качестве параметра имя объекта содержит шаблон или для MBean не указано имя объекта. -
IOException- Произошла проблема связи при общении с сервером MBean. - См. также:
MBeanRegistration
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
ObjectName loaderName,
Object[] params,
String[] signature)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
InstanceNotFoundException,
IOException Инициализирует и регистрирует MBean в сервере MBean. Загрузчик классов определяется по его имени объекта. Имя объекта ассоциируется с MBean. Если имя объекта загрузчика не указано, используется загрузчик классов, который загрузил сервер MBean. Если переданное имя объекта MBean равно null, MBean должен предоставить собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.
- Параметры:
-
className- Имя класса MBean, который должен быть инициализирован. -
name- Имя объекта MBean. Может быть null. -
params- Массив, содержащий параметры вызываемого конструктора. -
signature- Массив, содержащий сигнатуру вызываемого конструктора. -
loaderName- Имя объекта загрузчика классов, который должен быть использован. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержимоеObjectNameравноn, содержащее имя Java-класса равно.getMBeanInfo(n).getClassName() - Выбрасывает:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшие при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
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 не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован в сервере MBean. -
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Переданное имя класса равно null, переданное имя объекта содержит шаблон или для MBean не указано имя. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
MBeanRegistration
unregisterMBean
void unregisterMBean(ObjectName name)
throws InstanceNotFoundException,
MBeanRegistrationException,
IOException Удаляет MBean из сервера MBean. MBean определяется по его имени объекта. После вызова метода к MBean больше нельзя получить доступ по его имени объекта.
- Параметры:
-
name- Имя объекта MBean, который нужно удалить. - Выбрасывает:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
MBeanRegistrationException- Метод preDeregister (интерфейсMBeanRegistration) MBean выбросил исключение. -
RuntimeMBeanException- Если методpostDeregister(интерфейсMBeanRegistration) MBean выбросил исключениеRuntimeException, методunregisterMBeanвыбросит исключениеRuntimeMBeanException, хотя удаление MBean прошло успешно. В таком случае MBean будет фактически удален, несмотря на исключение, выброшенное методомunregisterMBean. Обратите внимание, чтоRuntimeMBeanExceptionтакже может быть выброшено методомpreDeregister, в этом случае MBean останется зарегистрированным. -
RuntimeErrorException- Если методpostDeregister(интерфейсMBeanRegistration) MBean выбросил исключениеError, методunregisterMBeanвыбросит исключениеRuntimeErrorException, хотя удаление MBean прошло успешно. В таком случае MBean будет фактически удален, несмотря на исключение, выброшенное методомunregisterMBean. Обратите внимание, чтоRuntimeMBeanExceptionтакже может быть выброшено методомpreDeregister, в этом случае MBean останется зарегистрированным. -
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или MBean, который вы пытаетесь удалить, является MBeanMBeanServerDelegate. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
MBeanRegistration
getObjectInstance
ObjectInstance getObjectInstance(ObjectName name)
throws InstanceNotFoundException,
IOException Получает ObjectInstance для данного MBean, зарегистрированного в сервере MBean.
- Параметры:
-
name- Имя объекта MBean. - Возвращает:
ObjectInstance, связанный с MBean, указанным name. СодержимоеObjectNameравноname, а содержащее имя класса равно.getMBeanInfo(name).getClassName()- Выбрасывает:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
queryMBeans
Set<ObjectInstance> queryMBeans(ObjectName name,
QueryExp query)
throws IOException Получает MBeans, управляемые сервером MBean. Этот метод позволяет получить следующее: все MBeans, набор MBeans, заданный соответствием шаблону имени ObjectName и/или выражению запроса, конкретный MBean. Когда имя объекта равно null или не указаны домен и ключевые свойства, выбираются все объекты (и фильтруются, если указан запрос). Возвращает набор ObjectInstance объектов (содержащих ObjectName и имя Java-класса) для выбранных MBeans.
- Параметры:
-
name- Шаблон имени объекта, определяющий MBeans, которые нужно получить. Если null или не указаны домен и ключевые свойства, будут получены все зарегистрированные MBeans. -
query- Выражение запроса, которое нужно применить для выбора MBeans. Если null, для выбора MBeans не будет применено выражение запроса. - Возвращает:
- Набор
ObjectInstanceобъектов для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Выбрасывает:
-
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
queryNames
Set<ObjectName> queryNames(ObjectName name,
QueryExp query)
throws IOException Получает имена MBeans, управляемых сервером MBean. Этот метод позволяет получить следующее: имена всех MBeans, имена набора MBeans, заданного соответствием шаблону имени ObjectName и/или выражению запроса, конкретное имя MBean (эквивалентно проверке наличия зарегистрированного MBean). Когда имя объекта равно null или не указаны домен и ключевые свойства, выбираются все объекты (и фильтруются, если указан запрос). Возвращает набор ObjectNames для выбранных MBeans.
- Параметры:
-
name- Шаблон имени объекта, определяющий имена MBean, которые нужно получить. Если null или не указаны домен и ключевые свойства, будут получены имена всех зарегистрированных MBeans. -
query- Выражение запроса, которое нужно применить для выбора MBeans. Если null, для выбора MBeans не будет применено выражение запроса. - Возвращает:
- Набор ObjectNames для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
- Выбрасывает:
-
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
isRegistered
boolean isRegistered(ObjectName name)
throws IOException Проверяет, зарегистрирован ли MBean, идентифицированный по имени объекта, на сервере MBean.
- Параметры:
-
name- Имя объекта MBean, который нужно проверить. - Возвращает:
- True, если MBean уже зарегистрирован на сервере MBean, false в противном случае.
- Выбрасывает:
-
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
getMBeanCount
Integer getMBeanCount()
throws IOException Возвращает количество зарегистрированных MBeans на сервере MBean.
- Возвращает:
- количество зарегистрированных MBeans.
- Выбрасывает:
-
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
getAttribute
Object getAttribute(ObjectName name,
String attribute)
throws MBeanException,
AttributeNotFoundException,
InstanceNotFoundException,
ReflectionException,
IOException Получает значение определённого атрибута именованного MBean. MBean идентифицируется по имени объекта.
- Параметры:
-
name- Имя объекта MBean, из которого нужно получить атрибут. -
attribute- Строка, содержащая имя атрибута, который нужно получить. - Возвращает:
- Значение полученного атрибута.
- Выбрасывает:
-
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
MBeanException- Оборачивает исключение, выброшенное методом-получателем MBean. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Оборачивает исключениеjava.lang.Exception, выброшенное при попытке вызвать setter. -
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен null. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
setAttribute(javax.management.ObjectName, javax.management.Attribute)
getAttributes
AttributeList getAttributes(ObjectName name,
String[] attributes)
throws InstanceNotFoundException,
ReflectionException,
IOException Возвращает значения нескольких атрибутов именованного 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);
}
- Parameters:
-
name- Имя объекта MBean, из которого извлекаются атрибуты. -
attributes- Список атрибутов, которые необходимо получить. - Returns:
- Список полученных атрибутов.
- Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызвать метод getAttributes динамического MBean. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибуты в параметре равны null. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
setAttributes(javax.management.ObjectName, javax.management.AttributeList)
setAttribute
void setAttribute(ObjectName name,
Attribute attribute)
throws InstanceNotFoundException,
AttributeNotFoundException,
InvalidAttributeValueException,
MBeanException,
ReflectionException,
IOException Устанавливает значение определенного атрибута именованного MBean. MBean идентифицируется по его имени объекта.
- Parameters:
-
name- Имя MBean, в котором нужно установить атрибут. -
attribute- Идентификатор атрибута, который нужно установить, и значение, на которое его нужно установить. - Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
InvalidAttributeValueException- Указанное значение для атрибута некорректно. -
MBeanException- Обёртка исключения, выброшенного установщиком MBean. -
ReflectionException- Обёртка исключенияjava.lang.Exceptionпри попытке вызвать установщик. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен null. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
getAttribute(javax.management.ObjectName, java.lang.String)
setAttributes
AttributeList setAttributes(ObjectName name,
AttributeList attributes)
throws InstanceNotFoundException,
ReflectionException,
IOException Устанавливает значения нескольких атрибутов именованного 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);
}
- Parameters:
-
name- Имя объекта MBean, в котором нужно установить атрибуты. -
attributes- Список атрибутов: идентификаторы атрибутов, которые нужно установить, и значения, на которые их нужно установить. - Returns:
- Список атрибутов, которые были установлены, со своими новыми значениями.
- Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызвать метод getAttributes динамического MBean. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибуты в параметре равны null. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
getAttributes(javax.management.ObjectName, java.lang.String[])
invoke
Object invoke(ObjectName name,
String operationName,
Object[] params,
String[] signature)
throws InstanceNotFoundException,
MBeanException,
ReflectionException,
IOException Вызывает операцию над 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);
- Parameters:
-
name- Имя объекта MBean, на котором должен быть вызван метод. -
operationName- Название операции, которая должна быть вызвана. -
params- Массив, содержащий параметры, которые должны быть установлены при вызове операции -
signature- Массив, содержащий сигнатуру операции, массив имён классов в формате, возвращаемомClass.getName(). Классы будут загружены с помощью того же загрузчика классов, что и MBean, на котором вызывалась операция. - Returns:
- Объект, возвращаемый операцией, представляющий результат вызова операции над указанным MBean.
- Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
MBeanException- Обёртка исключения, выброшенного вызываемым методом MBean. -
ReflectionException- Обёртка исключенияjava.lang.Exceptionпри попытке вызвать метод. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
getDefaultDomain
String getDefaultDomain()
throws IOException Возвращает домен по умолчанию, используемый для именования MBean. Имя домена по умолчанию используется как часть имени объекта MBean, если пользователь не указал домен.
- Returns:
- домен по умолчанию.
- Throws:
-
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
getDomains
String[] getDomains()
throws IOException Возвращает список доменов, в которых в настоящее время зарегистрирован любой MBean. Строка находится в возвращаемом массиве тогда и только тогда, когда зарегистрирован по крайней мере один MBean с именем объекта, чьё getDomain() равно этой строке. Порядок строк в возвращаемом массиве не определён.
- Returns:
- список доменов.
- Throws:
-
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
addNotificationListener
void addNotificationListener(ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
throws InstanceNotFoundException,
IOException Добавляет слушателя к зарегистрированному MBean. Уведомления, исходящие от MBean, будут пересылаться слушателю.
- Parameters:
-
name- Имя MBean, к которому должен быть добавлен слушатель. -
listener- Объект слушателя, который будет обрабатывать уведомления, исходящие от зарегистрированного MBean. -
filter- Объект фильтра. Если filter равен null, никакое фильтрация не будет выполнена перед обработкой уведомлений. -
handback- Контекст, который будет отправлен слушателю при исходящем уведомлении. - Throws:
-
InstanceNotFoundException- Имя MBean не соответствует ни одному из зарегистрированных MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
-
removeNotificationListener(ObjectName, NotificationListener),removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
addNotificationListener
void addNotificationListener(ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
throws InstanceNotFoundException,
IOException Добавляет слушателя к зарегистрированному MBean.
Уведомление, исходящее от MBean, будет перенаправлено сервером MBean слушателю. Если источником уведомления является ссылка на объект MBean, сервер MBean заменит её именем объекта этого MBean. В противном случае источник остаётся неизменным.
Объект слушателя, который получает уведомления, — это тот, который зарегистрирован с данным именем в момент вызова этого метода. Даже если он будет позже дезактивирован, он по-прежнему будет получать уведомления.
- Parameters:
-
name- Имя MBean, к которому должен быть добавлен слушатель. -
listener- Имя объекта слушателя, который будет обрабатывать уведомления, исходящие от зарегистрированного MBean. -
filter- Объект фильтра. Если filter равен null, никакое фильтрация не будет выполнена перед обработкой уведомлений. -
handback- Контекст, который будет отправлен слушателю при исходящем уведомлении. - Throws:
-
InstanceNotFoundException- Имя MBean слушателя уведомлений или источника уведомлений не соответствует ни одному из зарегистрированных MBean. -
RuntimeOperationsException- Обёртка исключенияIllegalArgumentException. MBean с именемlistenerсуществует, но не реализует интерфейсNotificationListener. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
-
removeNotificationListener(ObjectName, ObjectName),removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
removeNotificationListener
void removeNotificationListener(ObjectName name,
ObjectName listener)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Удаляет слушателя из зарегистрированного MBean.
Если слушатель зарегистрирован более одного раза, возможно, с различными фильтрами или обратными вызовами, этот метод удалит все эти регистрации.
- Параметры:
-
name- Имя MBean, из которого следует удалить слушателя. -
listener- Имя объекта слушателя, который нужно удалить. - Исключения:
-
InstanceNotFoundException- Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
removeNotificationListener
void removeNotificationListener(ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Удаляет слушателя из зарегистрированного MBean.
MBean должен иметь слушателя, который точно соответствует заданным параметрам listener, filter, и handback. Если таких слушателей несколько, удаляется только один.
Параметры filter и handback могут быть null, если и только если они имеют значение null в удаляемом слушателе.
- Параметры:
-
name- Имя MBean, из которого следует удалить слушателя. -
listener- Имя объекта слушателя, который нужно удалить. -
filter- Фильтр, указанный при добавлении слушателя. -
handback- Переданные данные, указанные при добавлении слушателя. - Исключения:
-
InstanceNotFoundException- Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или он не зарегистрирован с заданным фильтром и переданными данными. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
removeNotificationListener
void removeNotificationListener(ObjectName name,
NotificationListener listener)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Удаляет слушателя из зарегистрированного MBean.
Если слушатель зарегистрирован более одного раза, возможно, с различными фильтрами или обратными вызовами, этот метод удалит все эти регистрации.
- Параметры:
-
name- Имя MBean, из которого следует удалить слушателя. -
listener- Слушатель, который нужно удалить. - Исключения:
-
InstanceNotFoundException- Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
removeNotificationListener
void removeNotificationListener(ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Удаляет слушателя из зарегистрированного MBean.
MBean должен иметь слушателя, который точно соответствует заданным параметрам listener, filter, и handback. Если таких слушателей несколько, удаляется только один.
Параметры filter и handback могут быть null, если и только если они имеют значение null в удаляемом слушателе.
- Параметры:
-
name- Имя MBean, из которого следует удалить слушателя. -
listener- Слушатель, который нужно удалить. -
filter- Фильтр, указанный при добавлении слушателя. -
handback- Переданные данные, указанные при добавлении слушателя. - Исключения:
-
InstanceNotFoundException- Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или он не зарегистрирован с заданным фильтром и переданными данными. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name)
throws InstanceNotFoundException,
IntrospectionException,
ReflectionException,
IOException Этот метод обнаруживает атрибуты и операции, которые MBean предоставляет для управления.
- Параметры:
-
name- Имя MBean для анализа - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого MBean. - Исключения:
-
IntrospectionException- Произошла ошибка во время интроспекции. -
InstanceNotFoundException- Указанный MBean не найден. -
ReflectionException- Произошла ошибка при вызове getMBeanInfo для Dynamic MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean.
isInstanceOf
boolean isInstanceOf(ObjectName name,
String className)
throws InstanceNotFoundException,
IOException Возвращает 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.
- Параметры:
-
name-ObjectNameMBean. -
className- Имя класса. - Возвращает:
- true, если указанный MBean является экземпляром указанного класса в соответствии с правилами выше, иначе false.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован на сервере MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - См. также:
Class.isInstance(java.lang.Object)
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/MBeanServerConnection.html