Интерфейс 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. |
Set |
queryNames |
Получает имена управляемых сервером 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 будет использовать свой 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, имя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- Этот класс не является совместимым с JMX MBean. -
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. 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, переданное имя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 ассоциируется с именем объекта. Если имя объекта загрузчика не указано, используется загрузчик классов, который загрузил сервер 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- Этот класс не является совместимым с JMX MBean. -
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.- Параметры:
-
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- Шаблон имени объекта, определяющий MBeans, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены все зарегистрированные MBeans. -
query- Выражение запроса, применяемое для выбора MBeans. Если null, для выбора MBeans не будет применено никакого выражения запроса. - Возвращает:
- Набор, содержащий
ObjectInstanceобъекты для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Исключение:
-
IOException- Произошла проблема с соединением при общении с сервером MBean.
queryNames
Set<ObjectName> queryNames(ObjectName name, QueryExp query) throws IOException
ObjectName и/или выражением запроса, конкретное имя MBean (эквивалентно проверке, зарегистрирован ли MBean). Когда имя объекта равно null или не указаны свойства домена и ключа, выбираются все объекты (и отфильтровываются, если указан запрос). Возвращает набор ObjectNames для выбранных MBean.- Параметры:
-
name- Шаблон имени объекта, определяющий имена MBean, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены имена всех зарегистрированных MBeans. -
query- Выражение запроса, применяемое для выбора MBeans. Если null, для выбора MBeans не будет применено никакого выражения запроса. - Возвращает:
- Набор, содержащий ObjectNames для выбранных MBeans. Если ни один 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
- Возвращает:
- количество зарегистрированных MBeans.
- Исключение:
-
IOException- Произошла проблема с соединением при общении с сервером MBean.
getAttribute
Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
- Параметры:
-
name- Имя объекта MBean, из которого нужно получить атрибут. -
attribute- Строка, содержащая имя атрибута, который нужно получить. - Возвращает:
- Значение полученного атрибута.
- Исключение:
-
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
MBeanException- Оборачивает исключение, сгенерированное getter'ом MBean. -
InstanceNotFoundException- Указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException- Оборачиваетjava.lang.Exception, возникшее при попытке вызвать setter. -
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- Оборачивает исключение, сгенерированное setter'ом MBean. -
ReflectionException- Оборачиваетjava.lang.Exception, возникшее при попытке вызвать setter. -
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 в тех случаях, когда это возможно. Например, предположим, что у вас есть интерфейс 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);
- Параметры:
-
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 с именем объекта, чьё 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 заменит его именем объекта этого 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, только если они имеют такое же значение в удаляемом слушателе.
- Parameters:
-
name- Имя MBean, из которого должен быть удалён слушатель. -
listener- Слушатель, который нужно удалить. -
filter- Фильтр, указанный при добавлении слушателя. -
handback- Данные, указанные при добавлении слушателя. - Throws:
-
InstanceNotFoundException- Указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и данными. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
- Parameters:
-
name- Имя MBean для анализа - Returns:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого MBean. - Throws:
-
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 - загрузчик классов X,
N - имя класса в MBeanInfo X.
Если N равно className, результат true.
В противном случае, если L успешно загружает className и X является экземпляром этого класса, результат true.
В противном случае, если L успешно загружает как N, так и className, и второй класс может быть приведён к первому, результат true.
В противном случае, результат false.
- Parameters:
-
name-ObjectNameMBean. -
className- Имя класса. - Returns:
- true, если указанный MBean является экземпляром указанного класса согласно правилам выше, иначе false.
- Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован на сервере MBean. -
IOException- Произошла проблема связи при взаимодействии с сервером MBean. - See Also:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/MBeanServerConnection.html