Интерфейс RMIConnection

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

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

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

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

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

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

С момента версии:
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 - Subject содержащий принципалы делегирования или null если используется принцип аутентификации.
Возвращает:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean. If the contained ObjectName is n, the contained Java class name is getMBeanInfo(n).getClassName().
Вызывает:
ReflectionException - Wraps a java.lang.ClassNotFoundException or a java.lang.Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - метод preRegister (интерфейс MBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean вызвал исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
RuntimeOperationsException - Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.
SecurityException - если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

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 - Subject содержащий принципалы делегирования или null если используется принцип аутентификации.
Возвращает:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean. If the contained ObjectName is n, the contained Java class name is getMBeanInfo(n).getClassName().
Вызывает:
ReflectionException - Wraps a java.lang.ClassNotFoundException or a java.lang.Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - метод preRegister (интерфейс MBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean вызвал исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован на сервере MBean.
RuntimeOperationsException - Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.
SecurityException - если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

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 - Subject содержащий принципалы делегирования или null если используется принцип аутентификации.
Возвращает:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean. If the contained ObjectName is n, the contained Java class name is getMBeanInfo(n).getClassName().
Вызывает:
ReflectionException - Wraps a java.lang.ClassNotFoundException or a java.lang.Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - метод preRegister (интерфейс MBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean вызвал исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
RuntimeOperationsException - Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern, or no ObjectName is specified for the MBean.
SecurityException - если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

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 - Subject содержащий принципалы делегирования или null если используется принцип аутентификации.
Возвращает:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean. If the contained ObjectName is n, the contained Java class name is getMBeanInfo(n).getClassName().
Вызывает:
ReflectionException - Wraps a java.lang.ClassNotFoundException or a java.lang.Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - метод preRegister (интерфейс MBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean вызвал исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован на сервере MBean.
RuntimeOperationsException - Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern, or no ObjectName is specified for the MBean.
SecurityException - если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

unregisterMBean

void unregisterMBean(ObjectName name,
                     Subject delegationSubject)
              throws InstanceNotFoundException,
                     MBeanRegistrationException,
                     IOException

Обрабатывает метод MBeanServerConnection.unregisterMBean(ObjectName).

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

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name,
                                 Subject delegationSubject)
                          throws InstanceNotFoundException,
                                 IOException

Обрабатывает метод MBeanServerConnection.getObjectInstance(ObjectName).

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

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name,
                                MarshalledObject query,
                                Subject delegationSubject)
                         throws IOException

Обрабатывает метод MBeanServerConnection.queryMBeans(ObjectName, QueryExp). QueryExp упакован в MarshalledObject.

Параметры:
name - Шаблон имени объекта, идентифицирующий MBeans, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены все зарегистрированные MBeans.
query - Выражение запроса, применяемое для выбора MBeans, упакованное в MarshalledObject. Если MarshalledObject упаковывает значение null, для выбора MBeans не будет применено никакого выражения запроса.
delegationSubject - Subject содержащий принципы делегирования, или null если вместо этого используется основной принцип аутентификации.
Возвращает:
Множество, содержащее объекты ObjectInstance для выбранных MBeans. Если ни один MBean не соответствует запросу, возвращается пустой список.
Исключения:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

queryNames

Set<ObjectName> queryNames(ObjectName name,
                           MarshalledObject query,
                           Subject delegationSubject)
                    throws IOException

Обрабатывает метод MBeanServerConnection.queryNames(ObjectName, QueryExp). QueryExp упакован в MarshalledObject.

Параметры:
name - Шаблон имени объекта, идентифицирующий имена MBean, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены имена всех зарегистрированных MBeans.
query - Выражение запроса, применяемое для выбора MBeans, упакованное в MarshalledObject. Если MarshalledObject упаковывает значение null, для выбора MBeans не будет применено никакого выражения запроса.
delegationSubject - Subject содержащий принципы делегирования, или null если вместо этого используется основной принцип аутентификации.
Возвращает:
Множество, содержащее ObjectNames для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
Исключения:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

isRegistered

boolean isRegistered(ObjectName name,
                     Subject delegationSubject)
              throws IOException

Обрабатывает метод MBeanServerConnection.isRegistered(ObjectName).

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

getMBeanCount

Integer getMBeanCount(Subject delegationSubject)
               throws IOException

Обрабатывает метод MBeanServerConnection.getMBeanCount().

Параметры:
delegationSubject - Subject содержащий принципы делегирования, или null если вместо этого используется основной принцип аутентификации.
Возвращает:
число зарегистрированных MBeans.
Исключения:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

getAttribute

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

Обрабатывает метод MBeanServerConnection.getAttribute(ObjectName, String).

Параметры:
name - Имя объекта MBean, из которого нужно извлечь атрибут.
attribute - Строка, определяющая имя атрибута для извлечения.
delegationSubject - Subject содержащий принципы делегирования, или null если вместо этого используется основной принцип аутентификации.
Возвращает:
Значение извлечённого атрибута.
Исключения:
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
MBeanException - Оборачивает исключение, сгенерированное методом получения MBean.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Оборачивает java.lang.Exception сгенерированное при попытке вызова метода получения.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null.
RuntimeMBeanException - Оборачивает исключение времени выполнения, сгенерированное методом получения MBean.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
См. также:
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 - Subject содержащий принципы делегирования, или null если вместо этого используется основной принцип аутентификации.
Возвращает:
Список извлеченных атрибутов.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при попытке вызвать метод getAttributes динамического MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
См. также:
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 - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InvalidAttributeValueException - Указанное значение атрибута недействительно.
MBeanException - Обёртка исключения, сгенерированного методом установщика MBean.
ReflectionException - Обёртка исключения java.lang.Exception , возникшего при попытке вызвать установщик.
RuntimeOperationsException - Обёртка исключения java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null.
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
См. также:
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 - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Возвращает:
Список атрибутов, которые были установлены со своими новыми значениями.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при попытке вызвать метод getAttributes у динамического MBean.
RuntimeOperationsException - Обёртка исключения java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null.
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
См. также:
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 - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Возвращает:
Объект, возвращаемый операцией, представляющий результат вызова операции на указанном MBean.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
MBeanException - Обёртка исключения, сгенерированного вызываемым методом MBean.
ReflectionException - Обёртка исключения java.lang.Exception , возникшего при попытке вызвать метод.
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Обёртка исключения IllegalArgumentException, когда name или operationName равно null.

getDefaultDomain

String getDefaultDomain(Subject delegationSubject)
                 throws IOException

Обрабатывает метод MBeanServerConnection.getDefaultDomain().

Параметры:
delegationSubject - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Возвращает:
стандартный домен.
Исключения:
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

getDomains

String[] getDomains(Subject delegationSubject)
             throws IOException

Обрабатывает метод MBeanServerConnection.getDomains().

Параметры:
delegationSubject - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Возвращает:
список доменов.
Исключения:
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name,
                       Subject delegationSubject)
                throws InstanceNotFoundException,
                       IntrospectionException,
                       ReflectionException,
                       IOException

Обрабатывает метод MBeanServerConnection.getMBeanInfo(ObjectName).

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

isInstanceOf

boolean isInstanceOf(ObjectName name,
                     String className,
                     Subject delegationSubject)
              throws InstanceNotFoundException,
                     IOException

Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName, String).

Параметры:
name - ObjectName MBean.
className - Имя класса.
delegationSubject - Subject, содержащий делегированные принципы или null , если используется вместо этого принцип аутентификации.
Возвращает:
true, если указанный MBean является экземпляром указанного класса в соответствии с правилами выше, иначе false.
Исключения:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
SecurityException - если у клиента или делегированного Subject нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Обёртка исключения java.lang.IllegalArgumentException: имя объекта в параметре равно 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 (handback) также обернут в MarshalledObject.

Параметры:
name - Имя MBean, к которому должен быть добавлен слушатель.
listener - Имя объекта слушателя, который будет обрабатывать уведомления, испускаемые зарегистрированным MBean.
filter - Объект фильтра, упакованный в MarshalledObject. Если фильтр, упакованный в MarshalledObject, имеет значение null, фильтрация уведомлений не будет выполняться.
handback - Контекст, который будет передан слушателю при испускании уведомления, упакованный в MarshalledObject.
delegationSubject - Subject содержащий делегированные принципы или null, если используется аутентифицирующий принцип.
Исключения:
InstanceNotFoundException - Имя MBean слушателя уведомлений или отправителя уведомлений не совпадает ни с одним из зарегистрированных MBean.
RuntimeOperationsException - Оборачивает IllegalArgumentException. MBean, названный listener, существует, но не реализует интерфейс NotificationListener, или name или listener равно null.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
См. также:
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 - Subject содержащий делегированные принципы или null , если используется аутентифицирующий принцип.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException, когда name или listener равно 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 - Subject содержащий делегированные принципы или null , если используется аутентифицирующий принцип.
Исключения:
InstanceNotFoundException - Указанное имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратной связью.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Оборачивает IllegalArgumentException, когда name или listener равно 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).

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

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

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

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

removeNotificationListeners

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

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

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

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

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

fetchNotifications

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

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

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

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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnection.html

Spec-Zone .ru
спецификации, руководства, описания, API