Spec-Zone.ru › OpenJDK 24

Интерфейс RMIConnection

Все суперинтерфейсы:
AutoCloseable, Closeable, Remote
Все известные реализующие классы:
RMIConnectionImpl, RMIConnectionImpl_Stub
public interface RMIConnection extends Closeable, Remote

Объект RMI, используемый для переадресации запроса MBeanServer от клиента к его реализации MBeanServer на стороне сервера. Для каждого удаленного клиента, подключенного к RMI-коннектору, существует один удаленный объект, реализующий этот интерфейс.

Код пользователя обычно не ссылается на этот интерфейс. Он определен как часть публичного API, чтобы разные реализации этого API могли взаимодействовать друг с другом.

Для обеспечения десериализации параметров клиента на стороне сервера с правильной загрузкой классов, параметры клиента, такие как параметры, используемые для вызова метода, упаковываются в MarshalledObject. Реализация этого интерфейса должна сначала получить соответствующую загрузку классов для операции и её целевого объекта, затем десериализовать маршализованные параметры с помощью этой загрузки классов. За исключением отмеченных случаев, параметр, являющийся MarshalledObject или MarshalledObject[], не должен быть null; поведение не определено, если он им является.

Аспекты загрузки классов подробно описаны в Спецификации JMX, версия 1.4

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

Делегирование субъектов JMX было удалено. Все методы, принимающие параметр delegationSubject, будут выбрасывать UnsupportedOperationException, если он не равен null. Этот параметр сохранён для совместимости со старыми удалёнными клиентами.

С:
1.5

Краткое описание методов

Модификатор и тип Метод Описание
void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object).
Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)
Обрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
void close()
Закрывает это соединение.
ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]).
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]).
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName).
ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName).
NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout)
Получает уведомления от сервера-коннектора.
Object getAttribute(ObjectName name, String attribute, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getAttribute(ObjectName, String).
AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getAttributes(ObjectName, String[]).
String getConnectionId()
Возвращает идентификатор соединения.
String getDefaultDomain(Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getDefaultDomain().
String[] getDomains(Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getDomains().
Integer getMBeanCount(Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getMBeanCount().
MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getMBeanInfo(ObjectName).
ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.getObjectInstance(ObjectName).
Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.invoke(ObjectName, String, Object[], String[]).
boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName, String).
boolean isRegistered(ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.isRegistered(ObjectName).
Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.queryMBeans(ObjectName, QueryExp).
Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.queryNames(ObjectName, QueryExp).
void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object).
void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName).
void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)
Обрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.setAttribute(ObjectName, Attribute).
AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.setAttributes(ObjectName, AttributeList).
void unregisterMBean(ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.unregisterMBean(ObjectName).

Подробное описание методов

getConnectionId

String getConnectionId() throws IOException

Возвращает идентификатор соединения. Эта строка отличается для каждого открытого соединения с заданным сервером RMI-коннектора.

Возвращает:
идентификатор соединения
Издаёт исключения:
IOException - если произошла общая ошибка связи.
См. также:
  • RMIConnector.connect

close

void close() throws IOException

Закрывает это соединение. После возвращения из этого метода RMI-объект, реализующий этот интерфейс, не экспортируется, поэтому дальнейшие удалённые вызовы к нему завершатся ошибкой.

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Издаёт исключения:
IOException - если соединение не удалось закрыть, или удалённый объект не удалось не экспортировать, или произошла ошибка связи при передаче запроса на удалённое закрытие.

createMBean

ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName).
Параметры:
className - Имя класса MBean, который нужно создать.
name - Имя объекта MBean. Может быть null.
delegationSubject - должно быть 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 не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное имя класса равно null, переданное ObjectName содержит шаблон или не указано ObjectName для MBean.
SecurityException - если клиенту не разрешено выполнить эту операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

createMBean

ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName).
Параметры:
className - Имя класса MBean, который нужно создать.
name - Имя объекта MBean. Может быть null.
loaderName - Имя объекта загрузчика классов, который нужно использовать.
delegationSubject - должно быть 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 не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное имя класса равно null, переданное ObjectName содержит шаблон или не указано ObjectName для MBean.
SecurityException - если клиенту не разрешено выполнить эту операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

createMBean

ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]). Параметр Object[] обернут в MarshalledObject.
Параметры:
className - Имя класса MBean, который нужно создать.
name - Имя объекта MBean. Может быть null.
params - Массив параметров, которые нужно вызвать конструктор, упакован в MarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву.
signature - Массив сигнатур конструктора, который нужно вызвать. Может быть null, что эквивалентно пустому массиву.
delegationSubject - должно быть 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 не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное имя класса равно null, переданное ObjectName содержит шаблон, или не указано ObjectName для MBean.
SecurityException - если клиенту не разрешено выполнить эту операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

createMBean

ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]). Параметр Object[] обернут в MarshalledObject.
Параметры:
className - Имя класса MBean, который нужно создать.
name - Имя объекта MBean. Может быть null.
loaderName - Имя объекта загрузчика классов, который нужно использовать.
params - Массив параметров, которые нужно вызвать конструктор, упакован в MarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву.
signature - Массив сигнатур конструктора, который нужно вызвать. Может быть null, что эквивалентно пустому массиву.
delegationSubject - должно быть 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 не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: Переданное имя класса равно null, переданное ObjectName содержит шаблон, или не указано ObjectName для MBean.
SecurityException - если клиенту не разрешено выполнить эту операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

unregisterMBean

void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
Обрабатывает метод MBeanServerConnection.unregisterMBean(ObjectName).
Параметры:
name - Имя объекта управляемого ресурса (MBean), который требуется удалить.
delegationSubject - должен быть null.
Исключения:
InstanceNotFoundException - Управляемый ресурс (MBean) не зарегистрирован в сервере управляемых ресурсов.
MBeanRegistrationException - Метод preDeregister (MBeanRegistration интерфейс) управляемого ресурса выбросил исключение.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: Имя объекта в параметре равно null или MBean, который вы пытаетесь удалить, является MBean MBeanServerDelegate.
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.getObjectInstance(ObjectName).
Параметры:
name - Имя объекта управляемого ресурса (MBean).
delegationSubject - должен быть null.
Возвращает:
Объект ObjectInstance, связанный с управляемым ресурсом (MBean), заданным name. Содержимый ObjectName является name, а имя класса содержимого — getMBeanInfo(name).getClassName().
Исключения:
InstanceNotFoundException - Управляемый ресурс (MBean) не зарегистрирован в сервере управляемых ресурсов.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: Имя объекта в параметре равно null.
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.queryMBeans(ObjectName, QueryExp). QueryExp обернут в MarshalledObject.
Параметры:
name - Шаблон имени объекта управляемого ресурса (MBean), определяющий управляемые ресурсы (MBeans), которые необходимо получить. Если равно null или не указаны свойства домена и ключа, будут возвращены все зарегистрированные MBeans.
query - Выражение запроса, применяемое для выбора управляемых ресурсов (MBeans), инкапсулированное в MarshalledObject. Если MarshalledObject содержит значение null, для выбора управляемых ресурсов (MBeans) выражение запроса не будет применено.
delegationSubject - должен быть null.
Возвращает:
Множество содержащее объекты ObjectInstance для выбранных управляемых ресурсов (MBeans). Если ни один управляемый ресурс (MBean) не удовлетворяет запросу, возвращается пустой список.
Исключения:
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

queryNames

Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.queryNames(ObjectName, QueryExp). QueryExp обернут в MarshalledObject.
Параметры:
name - Шаблон имени объекта управляемого ресурса (MBean), определяющий имена управляемых ресурсов (MBeans), которые необходимо получить. Если равно null или не указаны свойства домена и ключа, будут возвращены имена всех зарегистрированных MBeans.
query - Выражение запроса, применяемое для выбора управляемых ресурсов (MBeans), инкапсулированное в MarshalledObject. Если MarshalledObject содержит значение null, для выбора управляемых ресурсов (MBeans) выражение запроса не будет применено.
delegationSubject - должен быть null.
Возвращает:
Множество содержащее ObjectNames для выбранных управляемых ресурсов (MBeans). Если ни один управляемый ресурс (MBean) не удовлетворяет запросу, возвращается пустой список.
Исключения:
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

isRegistered

boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.isRegistered(ObjectName).
Параметры:
name - Имя объекта управляемого ресурса (MBean), который требуется проверить.
delegationSubject - должен быть null.
Возвращает:
True, если управляемый ресурс (MBean) уже зарегистрирован в сервере управляемых ресурсов, false в противном случае.
Исключения:
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: Имя объекта в параметре равно null.
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

getMBeanCount

Integer getMBeanCount(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getMBeanCount().
Параметры:
delegationSubject - должен быть null.
Возвращает:
количество зарегистрированных управляемых ресурсов (MBeans).
Исключения:
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

getAttribute

Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.getAttribute(ObjectName, String).
Параметры:
name - Имя объекта управляемого ресурса (MBean), из которого необходимо получить атрибут.
attribute - Строка, содержащая имя атрибута, который необходимо получить.
delegationSubject - должен быть null.
Возвращает:
Значение полученного атрибута.
Исключения:
AttributeNotFoundException - Указанный атрибут недоступен в управляемом ресурсе (MBean).
MBeanException - Оборачивает исключение, выброшенное методом получения управляемого ресурса (MBean).
InstanceNotFoundException - Управляемый ресурс (MBean) не зарегистрирован в сервере управляемых ресурсов.
ReflectionException - Оборачивает исключение java.lang.Exception, выброшенное при вызове метода получения.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен null.
RuntimeMBeanException - Оборачивает исключение времени выполнения, выброшенное методом получения управляемого ресурса (MBean).
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.
См. также:
  • setAttribute(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

getAttributes

AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.getAttributes(ObjectName, String[]).
Параметры:
name - Имя объекта управляемого ресурса (MBean), из которого извлекаются атрибуты.
attributes - Список атрибутов, которые необходимо получить.
delegationSubject - должен быть null.
Возвращает:
Список полученных атрибутов.
Исключения:
InstanceNotFoundException - Управляемый ресурс (MBean) не зарегистрирован в сервере управляемых ресурсов.
ReflectionException - Произошла ошибка при попытке вызвать метод getAttributes динамического управляемого ресурса (MBean).
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: Имя объекта в параметре равно null или список атрибутов в параметре равен null.
SecurityException - если клиент не авторизован для выполнения данной операции.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.
См. также:
  • setAttributes(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

setAttribute

void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.setAttribute(ObjectName, Attribute). Параметр Attribute упакован в MarshalledObject.
Параметры:
name - Имя MBean, в котором нужно установить атрибут.
attribute - Идентификатор атрибута, который нужно установить, и значение, на которое нужно установить, упакованы в MarshalledObject.
delegationSubject - должен быть null.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InvalidAttributeValueException - Указанное значение для атрибута некорректно.
MBeanException - Оборачивает исключение, брошенное сеттером MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызвать сеттер.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null.
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.
См. также:
  • getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)

setAttributes

AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.setAttributes(ObjectName, AttributeList). Параметр AttributeList упакован в MarshalledObject.
Параметры:
name - Имя объекта MBean, в котором нужно установить атрибуты.
attributes - Список атрибутов: идентификаторы атрибутов, которые нужно установить, и значения, на которые нужно их установить, упакованы в MarshalledObject.
delegationSubject - должен быть null.
Возвращает:
Список атрибутов, которые были установлены, вместе с их новыми значениями.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при попытке вызвать метод getAttributes динамического MBean.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: имя объекта в параметре равно null или список атрибутов в параметре равен null.
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.
См. также:
  • getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)

invoke

Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.invoke(ObjectName, String, Object[], String[]). Параметр Object[] упакован в MarshalledObject.
Параметры:
name - Имя объекта MBean, на котором нужно вызвать метод.
operationName - Имя операции, которая должна быть вызвана.
params - Массив параметров, которые нужно установить при вызове операции, упакован в MarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву.
signature - Массив сигнатур операции. Классы будут загружены с помощью того же загрузчика классов, который использовался для загрузки MBean, на котором вызывалась операция. Может быть null, что эквивалентно пустому массиву.
delegationSubject - должен быть null.
Возвращает:
Объект, возвращаемый операцией, представляющий результат вызова операции на указанном MBean.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
MBeanException - Оборачивает исключение, брошенное вызванным методом MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызвать метод.
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException, если name или operationName равно null.
UnsupportedOperationException - если delegationSubject не равно null.

getDefaultDomain

String getDefaultDomain(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getDefaultDomain().
Параметры:
delegationSubject - должен быть null.
Возвращает:
домен по умолчанию.
Исключения:
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

getDomains

String[] getDomains(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getDomains().
Параметры:
delegationSubject - должен быть null.
Возвращает:
список доменов.
Исключения:
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubject не равно null.

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.getMBeanInfo(ObjectName).
Параметры:
name - Имя анализируемого MBean
delegationSubject - должен быть null.
Возвращает:
Экземпляр MBeanInfo, позволяющий получить все атрибуты и операции этого MBean.
Исключения:
IntrospectionException - Произошла ошибка во время интроспекции.
InstanceNotFoundException - MBean не найден.
ReflectionException - Произошла ошибка при попытке вызвать getMBeanInfo динамического MBean.
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: имя объекта в параметре равно null.
UnsupportedOperationException - если delegationSubject не равно null.

isInstanceOf

boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName, String).
Параметры:
name - ObjectName MBean.
className - Имя класса.
delegationSubject - должен быть null.
Возвращает:
true, если указанный MBean является экземпляром указанного класса согласно правилам выше, иначе false.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
SecurityException - если клиенту не разрешено выполнять данную операцию.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Оборачивает исключение java.lang.IllegalArgumentException: имя объекта в параметре равно null.
UnsupportedOperationException - если delegationSubject не равно null.

addNotificationListener

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

removeNotificationListener

void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName).
Параметры:
name - Имя MBean, из которого нужно удалить слушателя.
listener - Имя объекта слушателя для удаления.
delegationSubject - должен быть null.
Исключения:
InstanceNotFoundException - Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBeans.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean.
SecurityException - если клиент не авторизован для выполнения этой операции.
IOException - если произошла общая ошибка связи.
IllegalArgumentException - Обертывает IllegalArgumentException, когда name или listener равны null.
UnsupportedOperationException - если delegationSubject не равен null.
См. также:
  • addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

removeNotificationListener

void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). Параметр NotificationFilter обернут в MarshalledObject. Параметр Object также обернут в MarshalledObject.
Параметры:
name - Имя MBean, из которого нужно удалить слушателя.
listener - Слушатель, который был ранее добавлен к этому MBean.
filter - Фильтр, указанный при добавлении слушателя, упакованный в MarshalledObject.
handback - Обратная связь, указанная при добавлении слушателя, упакованная в MarshalledObject.
delegationSubject - должен быть null.
Исключения:
InstanceNotFoundException - Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBeans.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратной связью.
SecurityException - если клиент не авторизован для выполнения этой операции.
IOException - если произошла общая ошибка связи.
IllegalArgumentException - Обертывает IllegalArgumentException, когда name или listener равны null.
UnsupportedOperationException - если delegationSubject не равен null.
См. также:
  • addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

addNotificationListeners

Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException

Обрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).

Регистрация для получения уведомлений от указанных MBeans, соответствующих заданным фильтрам. После этого удалённый клиент может получить уведомления, используя метод fetchNotifications.

Для каждого слушателя исходные NotificationListener и handback сохраняются на стороне клиента; для идентификации клиентом сервер генерирует и возвращает уникальный listenerID. Этот listenerID передаётся с Notifications удалённому клиенту.

Если любой из пар (имя, фильтр) не может быть зарегистрирован, операция завершается с исключением, и никакие имена и фильтры не регистрируются.

Параметры:
names - ObjectNames, идентифицирующие MBeans, испускающие уведомления.
filters - Массив маршализованных представлений NotificationFilters. Элементы этого массива могут быть null.
delegationSubjects - должен быть null, или массив, не содержащий непустых элементов.
Возвращает:
массив listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет то же количество элементов, что и параметры.
Исключения:
IllegalArgumentException - если names или filters равно null, или если names содержит null-элемент, или если эти два массива не имеют одинаковый размер.
ClassCastException - если один из элементов filters при размаршализации не является NotificationFilter.
InstanceNotFoundException - если одно из names не соответствует ни одному из зарегистрированных MBean.
SecurityException - если для одного из MBeans клиент не авторизован для добавления слушателя.
IOException - если произошла общая ошибка связи.
UnsupportedOperationException - если delegationSubjects не равен null и содержит какие-либо непустые элементы.

Удалить слушателей уведомлений

void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException

Обрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).

Этот метод удаляет одного или нескольких слушателей уведомлений из заданного MBean в сервере MBean.

Слушатели уведомлений идентифицируются по идентификаторам, возвращённым методом addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).

Параметры:
name - ObjectName, идентифицирующий MBean, испускающий уведомления.
listenerIDs - список идентификаторов слушателей для удаления.
delegationSubject - должен быть null.
Исключения:
InstanceNotFoundException - если заданный name не соответствует ни одному зарегистрированному MBean.
ListenerNotFoundException - если один из слушателей не найден на стороне сервера. Эта ошибка может произойти, если MBean удалил слушателя по какой-либо причине, кроме вызова MBeanServer.removeNotificationListener.
SecurityException - если клиент не имеет полномочий для удаления слушателей.
IOException - если произошла общая ошибка связи.
IllegalArgumentException - если ObjectName или listenerIds равно null, или если listenerIds содержит null-элемент.
UnsupportedOperationException - если delegationSubject не равно null.

Получить уведомления

NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException

Получает уведомления с сервера подключения. Этот метод может блокироваться, пока не будет получено хотя бы одно уведомление или пока не истечёт заданное время ожидания. Метод также может вернуть нулевое количество уведомлений в любой момент.

Уведомление может быть включено в результат, если его порядковый номер не меньше clientSequenceNumber, и если этот клиент зарегистрировал хотя бы одного слушателя для MBean, генерирующего это уведомление, с фильтром, принимающим это уведомление. Каждый заинтересованный слушатель идентифицируется целым числом (ID), возвращаемым методом addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).

Параметры:
clientSequenceNumber - первый порядковый номер, который интересует клиента. Если отрицательный, интерпретируется как порядковый номер следующего уведомления.
TargetedNotification - максимальное количество различных уведомлений для возврата. Массив NotificationResult в возвращаемом значении может содержать больше элементов, если одно и то же уведомление появляется более одного раза. Поведение не определено, если этот параметр отрицательный.
timeout - максимальное время в миллисекундах ожидания прибытия уведомления. Может быть 0, чтобы указать, что метод не должен ждать, если нет уведомлений, а должен возвратить значение сразу. Может быть Long.MAX_VALUE, чтобы указать, что нет таймаута. Поведение не определено, если этот параметр отрицательный.
Возвращает:
NotificationResult.
Исключения:
IOException - если произошла общая ошибка связи.

© 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.rmi/javax/management/remote/rmi/RMIConnection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API