Интерфейс MBeanServerConnection
- Все известные подынтерфейсы:
MBeanServer, MBeanServerForwarder
public interface MBeanServerConnection
MBeanServer, представляющий локальный сервер MBean, расширяет этот интерфейс.- Начиная с версии:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addNotificationListener |
Добавляет прослушиватель к зарегистрированному компоненту MBean. |
void |
addNotificationListener |
Добавляет прослушиватель к зарегистрированному компоненту MBean. |
ObjectInstance |
createMBean |
Создаёт и регистрирует компонент MBean на сервере MBean. |
ObjectInstance |
createMBean |
Создаёт и регистрирует компонент MBean на сервере MBean. |
ObjectInstance |
createMBean |
Создаёт и регистрирует компонент MBean на сервере MBean. |
ObjectInstance |
createMBean |
Создаёт и регистрирует компонент MBean на сервере MBean. |
Object |
getAttribute |
Получает значение указанного атрибута именованного компонента MBean. |
AttributeList |
getAttributes |
Получает значения нескольких атрибутов именованного компонента MBean. |
String |
getDefaultDomain() |
Возвращает домен по умолчанию, используемый для именования компонента MBean. |
String[] |
getDomains() |
Возвращает список доменов, в которых в данный момент зарегистрированы компоненты MBean. |
Integer |
getMBeanCount() |
Возвращает количество компонентов MBean, зарегистрированных на сервере MBean. |
MBeanInfo |
getMBeanInfo |
Этот метод определяет атрибуты и операции, предоставляемые компонентом MBean для управления. |
ObjectInstance |
getObjectInstance |
Получает ObjectInstance для заданного компонента MBean, зарегистрированного на сервере MBean. |
Object |
invoke |
Вызывает операцию компонента MBean. |
boolean |
isInstanceOf |
Возвращает true, если указанный компонент MBean является экземпляром заданного класса, и false в противном случае. |
boolean |
isRegistered |
Проверяет, зарегистрирован ли уже на сервере MBean компонент MBean, идентифицируемый своим именем объекта. |
Set |
queryMBeans |
Получает компоненты MBean, контролируемые сервером MBean. |
Set |
queryNames |
Получает имена компонентов MBean, контролируемых сервером MBean. |
void |
removeNotificationListener |
Удаляет прослушиватель из зарегистрированного компонента MBean. |
void |
removeNotificationListener |
Удаляет прослушиватель из зарегистрированного компонента MBean. |
void |
removeNotificationListener |
Удаляет прослушиватель из зарегистрированного компонента MBean. |
void |
removeNotificationListener |
Удаляет прослушиватель из зарегистрированного компонента MBean. |
void |
setAttribute |
Задаёт значение указанного атрибута именованного компонента MBean. |
AttributeList |
setAttributes |
Задаёт значения нескольких атрибутов именованного компонента MBean. |
void |
unregisterMBean |
Отменяет регистрацию компонента MBean на сервере MBean. |
Подробное описание методов
createMBean
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Создает экземпляр MBean и регистрирует его на сервере MBean. Для загрузки класса MBean сервер MBean использует свой Default Loader
Repository. С 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— этот класс не является MBean, совместимым с JMX. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре имя класса равно null, переданное в параметреObjectNameсодержит шаблон или для MBean не указаноObjectName. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Создает экземпляр MBean и регистрирует его на сервере MBean. Используемый загрузчик классов определяется его именем объекта. С MBean связывается имя объекта. Если имя объекта загрузчика равно null, используется ClassLoader, загрузивший сервер 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— этот класс не является MBean, совместимым с JMX. -
InstanceNotFoundException— указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре имя класса равно null, переданное в параметреObjectNameсодержит шаблон или для MBean не указаноObjectName. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
createMBean
ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Default Loader
Repository. С 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— этот класс не является MBean, совместимым с JMX. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре имя класса равно null, переданное в параметреObjectNameсодержит шаблон или для MBean не указаноObjectName. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Создает экземпляр MBean и регистрирует его на сервере MBean. Используемый загрузчик классов определяется его именем объекта. С MBean связывается имя объекта. Если имя объекта загрузчика не указано, используется ClassLoader, загрузивший сервер MBean. Если указанное имя объекта MBean равно null, MBean должен предоставить собственное имя, реализовав интерфейс MBeanRegistration и вернув имя из метода preRegister.
- Параметры:
-
className— имя класса создаваемого экземпляра MBean. -
name— имя объекта MBean. Может быть null. -
loaderName— имя объекта загрузчика классов, который будет использоваться. -
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— этот класс не является MBean, совместимым с JMX. -
InstanceNotFoundException— указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре имя класса равно null, переданное в параметреObjectNameсодержит шаблон или для MBean не указаноObjectName. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
unregisterMBean
void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException, IOException
- Параметры:
-
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 возникла проблема связи. - См. также:
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
ObjectName и/или выражению запроса; отдельный MBean. Если имя объекта равно null или домен и ключевые свойства не указаны, выбираются все объекты (и фильтруются, если задан запрос). Метод возвращает набор объектов ObjectInstance (содержащих ObjectName и имя класса Java) для выбранных MBean.- Параметры:
-
name— шаблон имени объекта, определяющий извлекаемые MBean. Если значение равно null или домен и ключевые свойства не указаны, будут извлечены все зарегистрированные MBean. -
query— выражение запроса, применяемое для выбора MBean. Если значение равно null, выражение запроса для выбора MBean применяться не будет. - Возвращает:
- Набор объектов
ObjectInstanceдля выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Исключения:
-
IOException— при взаимодействии с сервером MBean возникла проблема связи.
queryNames
Set<ObjectName> queryNames(ObjectName name, QueryExp query) throws IOException
ObjectName и/или выражению запроса; имя отдельного MBean (эквивалентно проверке регистрации MBean). Если имя объекта равно null или домен и ключевые свойства не указаны, выбираются все объекты (и фильтруются, если задан запрос). Метод возвращает набор ObjectName для выбранных MBean.- Параметры:
-
name— шаблон имени объекта, определяющий извлекаемые имена MBean. Если значение равно null или домен и ключевые свойства не указаны, будут извлечены имена всех зарегистрированных MBean. -
query— выражение запроса, применяемое для выбора MBean. Если значение равно null, выражение запроса для выбора MBean применяться не будет. - Возвращает:
- Набор ObjectName для выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
- Исключения:
-
IOException— при взаимодействии с сервером MBean возникла проблема связи.
isRegistered
boolean isRegistered(ObjectName name) throws IOException
- Параметры:
-
name— имя объекта проверяемого MBean. - Возвращает:
- True, если MBean уже зарегистрирован на сервере MBean; в противном случае — false.
- Исключения:
-
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
IOException— при взаимодействии с сервером MBean возникла проблема связи.
getMBeanCount
Integer getMBeanCount() throws IOException
- Возвращает:
- количество зарегистрированных MBean.
- Исключения:
-
IOException— при взаимодействии с сервером MBean возникла проблема связи.
getAttribute
Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
- Параметры:
-
name— имя объекта MBean, у которого извлекается атрибут. -
attribute— строка с именем извлекаемого атрибута. - Возвращает:
- Значение извлеченного атрибута.
- Исключения:
-
AttributeNotFoundException— указанный атрибут недоступен в MBean. -
MBeanException— оборачивает исключение, вызванное методом чтения MBean. -
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— оборачиваетjava.lang.Exception, вызванное при попытке вызвать метод записи. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
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);
}
- Параметры:
-
name— имя объекта MBean, у которого извлекаются атрибуты. -
attributes— список извлекаемых атрибутов. - Возвращает:
- Список извлеченных атрибутов.
- Исключения:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— при попытке вызвать метод getAttributes динамического MBean возникло исключение. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
setAttribute
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
- Параметры:
-
name— имя MBean, атрибут которого необходимо задать. -
attribute— идентификатор задаваемого атрибута и значение, которое ему присваивается. - Исключения:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
AttributeNotFoundException— указанный атрибут недоступен в MBean. -
InvalidAttributeValueException— указанное для атрибута значение недопустимо. -
MBeanException— оборачивает исключение, вызванное методом записи MBean. -
ReflectionException— оборачиваетjava.lang.Exception, вызванное при попытке вызвать метод записи. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
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);
}
- Параметры:
-
name— имя объекта MBean, атрибуты которого необходимо задать. -
attributes— список атрибутов: идентификаторы задаваемых атрибутов и значения, которые им присваиваются. - Возвращает:
- Список заданных атрибутов с новыми значениями.
- Исключения:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— при попытке вызвать метод getAttributes динамического MBean возникло исключение. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null. -
IOException— при взаимодействии с сервером MBean возникла проблема связи. - См. также:
invoke
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
Вызывает операцию на MBean.
Поскольку для различения потенциально перегруженных операций требуется signature, гораздо проще по возможности вызывать операции через прокси MBean. Например, предположим, что у вас есть интерфейс стандартного 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);
- Параметры:
-
name— имя объекта MBean, для которого вызывается метод. -
operationName— имя вызываемой операции. -
params— массив, содержащий параметры, которые будут заданы при вызове операции. -
signature— массив, содержащий сигнатуру операции: массив имён классов в формате, возвращаемом методомClass.getName(). Объекты классов загружаются с помощью того же загрузчика классов, который использовался для загрузки MBean, для которого вызывалась операция. - Возвращает:
- Объект, возвращённый операцией, то есть результат вызова операции для указанного MBean.
- Выбрасывает:
-
InstanceNotFoundException— Указанный MBean не зарегистрирован на сервере MBean. -
MBeanException— Оборачивает исключение, выброшенное вызванным методом MBean. -
ReflectionException— Оборачиваетjava.lang.Exception, выброшенное при попытке вызова метода. -
IOException— При взаимодействии с сервером MBean возникла проблема связи.
getDefaultDomain
String getDefaultDomain() throws IOException
- Возвращает:
- домен по умолчанию.
- Выбрасывает:
-
IOException— При взаимодействии с сервером MBean возникла проблема связи.
getDomains
String[] getDomains() throws IOException
Возвращает список доменов, в которых в данный момент зарегистрирован хотя бы один MBean. Строка присутствует в возвращаемом массиве тогда и только тогда, когда зарегистрирован хотя бы один MBean с ObjectName, у которого getDomain() равен этой строке. Порядок строк в возвращаемом массиве не определён.
- Возвращает:
- список доменов.
- Выбрасывает:
-
IOException— При взаимодействии с сервером MBean возникла проблема связи.
addNotificationListener
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
Добавляет прослушиватель к зарегистрированному MBean. Уведомления, отправляемые MBean, будут перенаправляться прослушивателю.
- Параметры:
-
name— имя MBean, к которому следует добавить прослушиватель. -
listener— объект прослушивателя, который будет обрабатывать уведомления, отправляемые зарегистрированным MBean. -
filter— объект фильтра. Если filter равен null, перед обработкой уведомлений фильтрация выполняться не будет. -
handback— контекст, который будет передан прослушивателю при отправке уведомления. - Выбрасывает:
-
InstanceNotFoundException— указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
IOException— При взаимодействии с сервером MBean возникла проблема связи. - См. также:
addNotificationListener
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
Добавляет прослушиватель к зарегистрированному MBean.
Уведомление, отправленное MBean, будет перенаправлено сервером MBean прослушивателю. Если источником уведомления является ссылка на объект MBean, сервер MBean заменит её на ObjectName этого MBean. В противном случае источник останется без изменений.
Объект прослушивателя, получающий уведомления, — это объект, зарегистрированный под указанным именем на момент вызова этого метода. Даже если впоследствии его регистрация будет отменена, он продолжит получать уведомления.
- Параметры:
-
name— имя MBean, к которому следует добавить прослушиватель. -
listener— имя объекта прослушивателя, который будет обрабатывать уведомления, отправляемые зарегистрированным MBean. -
filter— объект фильтра. Если filter равен null, перед обработкой уведомлений фильтрация выполняться не будет. -
handback— контекст, который будет передан прослушивателю при отправке уведомления. - Выбрасывает:
-
InstanceNotFoundException— имя MBean прослушивателя уведомлений или источника уведомлений не соответствует ни одному из зарегистрированных MBean. -
RuntimeOperationsException— ОборачиваетIllegalArgumentException. MBean с именемlistenerсуществует, но не реализует интерфейсNotificationListener. -
IOException— При взаимодействии с сервером MBean возникла проблема связи. - См. также:
removeNotificationListener
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Если прослушиватель зарегистрирован несколько раз, возможно, с разными фильтрами или обратными вызовами, этот метод удалит все такие регистрации.
- Параметры:
-
name— имя MBean, из которого следует удалить прослушиватель. -
listener— имя объекта прослушивателя, который следует удалить. - Выбрасывает:
-
InstanceNotFoundException— указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException— прослушиватель не зарегистрирован в MBean. -
IOException— При взаимодействии с сервером MBean возникла проблема связи. - См. также:
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 возникла проблема связи. - См. также:
removeNotificationListener
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Удаляет прослушиватель из зарегистрированного MBean.
Если прослушиватель зарегистрирован несколько раз, возможно, с разными фильтрами или обратными вызовами, этот метод удалит все такие регистрации.
- Параметры:
-
name— имя MBean, из которого следует удалить прослушиватель. -
listener— прослушиватель, который следует удалить. - Выбрасывает:
-
InstanceNotFoundException— указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException— прослушиватель не зарегистрирован в MBean. -
IOException— При взаимодействии с сервером MBean возникла проблема связи. - См. также:
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 возникла проблема связи. - См. также:
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
- Параметры:
-
name— имя анализируемого MBean - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого MBean. - Выбрасывает:
-
IntrospectionException— Во время интроспекции возникло исключение. -
InstanceNotFoundException— Указанный MBean не найден. -
ReflectionException— При попытке вызвать getMBeanInfo динамического MBean возникло исключение. -
IOException— При взаимодействии с сервером MBean возникла проблема связи.
isInstanceOf
boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException, IOException
Возвращает true, если указанный MBean является экземпляром указанного класса, и false в противном случае.
Если name не задаёт имя MBean, этот метод выбрасывает InstanceNotFoundException.
В противном случае пусть
X — MBean с именем name,
L — ClassLoader класса 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 возникла проблема связи. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/MBeanServerConnection.html