Spec-Zone.ru › OpenJDK 21

Интерфейс 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.

С:
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, если вместо этого используется аутентифицирующий принцип.
Возвращает:
Объект 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 - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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, если вместо этого используется аутентифицирующий принцип.
Возвращает:
Объект 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 - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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, если вместо этого используется аутентифицирующий принцип.
Возвращает:
Объект 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 - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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, если вместо этого используется аутентифицирующий принцип.
Возвращает:
Объект 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 - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

unregisterMBean

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

getObjectInstance

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

queryMBeans

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

queryNames

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

isRegistered

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

getMBeanCount

Integer getMBeanCount(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getMBeanCount().
Parameters:
delegationSubject - Subject содержащий делегированные принципы или null если вместо этого используется аутентификационный принцип.
Returns:
количество зарегистрированных MBean.
Throws:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение данной операции.
IOException - если произошла общая ошибка связи.

getAttribute

Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
Обрабатывает метод MBeanServerConnection.getAttribute(ObjectName, String).
Parameters:
name - Имя объекта MBean, из которого необходимо получить значение атрибута.
attribute - Строка, определяющая имя атрибута, которое нужно получить.
delegationSubject - Subject содержащий делегированные принципы или null если вместо этого используется аутентификационный принцип.
Returns:
Значение полученного атрибута.
Throws:
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
MBeanException - Оборачивает исключение, брошенное getter MBean.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Оборачивает java.lang.Exception выброшенное при попытке вызвать getter.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null.
RuntimeMBeanException - Оборачивает исключение runtime, брошенное getter MBean.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение данной операции.
IOException - если произошла общая ошибка связи.
See Also:
  • 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[]).
Parameters:
name - Имя объекта MBean, из которого извлекаются атрибуты.
attributes - Список атрибутов, которые нужно получить.
delegationSubject - Subject содержащий делегированные принципы или null если вместо этого используется аутентификационный принцип.
Returns:
Список полученных атрибутов.
Throws:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при вызове метода getAttributes динамического MBean.
RuntimeOperationsException - Оборачивает java.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение данной операции.
IOException - если произошла общая ошибка связи.
See Also:
  • 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.
Parameters:
name - Имя MBean, в котором будет установлено атрибут.
attribute - Идентификатор атрибута, который нужно установить, и значение, на которое нужно установить, упакован в MarshalledObject.
delegationSubject - Subject, содержащий делегированные принципы или null, если используется вместо этого принцип аутентификации.
Throws:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InvalidAttributeValueException - Указанное значение для атрибута недействительно.
MBeanException - Обёртка исключения, брошенного методом установки MBean.
ReflectionException - Обёртка исключения java.lang.Exception при попытке вызвать метод установки.
RuntimeOperationsException - Обёртка исключения java.lang.IllegalArgumentException: имя объекта в параметре null или атрибут в параметре null.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
See Also:
  • 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.
Parameters:
name - Имя объекта MBean, для которого нужно установить атрибуты.
attributes - Список атрибутов: идентификаторы атрибутов, которые нужно установить, и значения, на которые нужно их установить, упакованы в MarshalledObject.
delegationSubject - Subject, содержащий делегированные принципы или null, если вместо этого используется принцип аутентификации.
Returns:
Список атрибутов, которые были установлены со своими новыми значениями.
Throws:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при попытке вызвать метод getAttributes у динамического MBean.
RuntimeOperationsException - Обёртка исключения java.lang.IllegalArgumentException: имя объекта в параметре null или список атрибутов в параметре null.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
See Also:
  • 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.
Parameters:
name - Имя объекта MBean, на котором нужно вызвать метод.
operationName - Имя операции, которую нужно вызвать.
params - Массив параметров, которые нужно установить при вызове операции, упакованный в MarshalledObject.
signature - Массив подписей операции. Объекты классов будут загружены с помощью того же загрузчика классов, что и MBean, на котором была вызвана операция. Может быть null, что эквивалентно пустому массиву.
delegationSubject - Subject, содержащий делегированные принципы или null, если используется принцип аутентификации.
Returns:
Объект, возвращённый операцией, представляющий результат вызова операции на указанном MBean.
Throws:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
MBeanException - Обёртка исключения, брошенного методом MBean.
ReflectionException - Обёртка исключения java.lang.Exception при попытке вызвать метод.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.
RuntimeOperationsException - Обёртка исключения IllegalArgumentException при name или operationName равны null.

getDefaultDomain

String getDefaultDomain(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getDefaultDomain().
Parameters:
delegationSubject - Subject, содержащий делегированные принципы или null, если используется принцип аутентификации.
Returns:
домен по умолчанию.
Throws:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

getDomains

String[] getDomains(Subject delegationSubject) throws IOException
Обрабатывает метод MBeanServerConnection.getDomains().
Parameters:
delegationSubject - Subject, содержащий делегированные принципы или null, если используется принцип аутентификации.
Returns:
список доменов.
Throws:
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
IOException - если произошла общая ошибка связи.

getMBeanInfo

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

isInstanceOf

boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName, String).
Parameters:
name - ObjectName MBean.
className - Имя класса.
delegationSubject - Subject, содержащий делегированные принципы или null, если используется принцип аутентификации.
Returns:
true, если указанный MBean является экземпляром указанного класса в соответствии с вышеуказанными правилами, иначе false.
Throws:
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
SecurityException - если у клиента или делегированного субъекта нет разрешения на выполнение этой операции.
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 (обратная связь) также упакован в 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 - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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 не соответствует ни одному из зарегистрированных MBeans.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean.
SecurityException - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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 не соответствует ни одному из зарегистрированных MBeans.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или он не зарегистрирован с заданным фильтром и обратной связью.
SecurityException - если у клиента, или делегированного Subject, если таковой имеется, нет разрешения на выполнение этой операции.
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, что эквивалентно массиву нулевых значений с таким же размером, как массивы names и filters.
Возвращает:
массив listenerIDs , идентифицирующих локальных слушателей. Этот массив имеет такое же количество элементов, как и у параметров.
Исключения:
IllegalArgumentException - если names или filters равно null, или если names содержит null элемент, или если три массива не имеют одинакового размера.
ClassCastException - если один из элементов filters десериализуется как не-null объект, который не является NotificationFilter.
InstanceNotFoundException - если ни один из names не соответствует ни одному из зарегистрированных MBean.
SecurityException - если для одного из MBean у клиента, или делегированного Subject, если таковой имеется, нет разрешения на добавление слушателя.
IOException - если произошла общая ошибка связи.

removeNotificationListeners

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

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

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

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

Parameters:
name - ObjectName, идентифицирующий MBean, испускающий уведомления.
listenerIDs - список идентификаторов, соответствующих слушателям, которые необходимо удалить.
delegationSubject - Subject, содержащий делегированные принципы или null в случае использования принципа аутентификации вместо этого.
Throws:
InstanceNotFoundException - если заданный name не соответствует ни одному зарегистрированному MBean.
ListenerNotFoundException - если один из слушателей не найден на стороне сервера. Это исключение может возникнуть, если MBean отбросил слушателя по какой-либо причине, отличной от вызова MBeanServer.removeNotificationListener.
SecurityException - если у клиента или делегированного Subject нет разрешения на удаление слушателей.
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[]).

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

© 1993, 2023, 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/21/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnection.html

Spec-Zone.ru

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