Spec-Zone.ru › OpenJDK 21

Класс RMIConnectionImpl

java.lang.Object
javax.management.remote.rmi.RMIConnectionImpl
Все реализованные интерфейсы:
Closeable, AutoCloseable, Remote, Unreferenced, RMIConnection
public class RMIConnectionImpl extends Object implements RMIConnection, Unreferenced

Реализация интерфейса RMIConnection. Пользовательский код обычно не ссылается на этот класс.

С момента:
1.5

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

Конструктор Описание
RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
Создаёт новый RMIConnection.

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

Модификатор и тип Метод Описание
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).
String toString()
Возвращает строковое представление этого объекта.
void unreferenced()
Вызывается временем выполнения RMI после того, как время выполнения определит, что список ссылок, список клиентов, ссылающихся на удаленный объект, становится пустым.
void unregisterMBean(ObjectName name, Subject delegationSubject)
Обрабатывает метод MBeanServerConnection.unregisterMBean(ObjectName).

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

RMIConnectionImpl

public RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
Создаёт новый RMIConnection. Это соединение может быть использовано с транспортом JRMP. Этот объект не экспортирует себя: ответственность за его соответствующее экспортирование лежит на вызывающей стороне (см. RMIJRMPServerImpl.makeClient(String,Subject)).
Parameters:
rmiServer - Объект RMIServerImpl, для которого создаётся это соединение. Поведение не определено, если этот параметр равен null.
connectionId - Идентификатор этого соединения. Поведение не определено, если этот параметр равен null.
defaultClassLoader - Класс загрузки по умолчанию, который будет использоваться при десериализации сериализованных объектов. Может быть null, что означает загрузчик классов по умолчанию.
subject - аутентифицированный субъект, который будет использоваться для авторизации. Может быть null, что означает, что ни один субъект не был аутентифицирован.
env - окружение, содержащее атрибуты для нового RMIServerImpl. Может быть null, что эквивалентно пустому отображению.

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

getConnectionId

public String getConnectionId() throws IOException
Описание скопировано из интерфейса: RMIConnection

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

Specified by:
getConnectionId в интерфейсе RMIConnection
Returns:
идентификатор соединения
Throws:
IOException - если произошла общая ошибка связи.
See Also:
  • RMIConnector.connect

close

public void close() throws IOException
Описание скопировано из интерфейса: RMIConnection

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

Specified by:
close в интерфейсе AutoCloseable
Specified by:
close в интерфейсе Closeable
Specified by:
close в интерфейсе RMIConnection
Throws:
IOException - если соединение не может быть закрыто, или удалённый объект не может быть не экспортирован, или произошла ошибка связи при передаче удалённого запроса на закрытие.

unreferenced

public void unreferenced()
Описание скопировано из интерфейса: Unreferenced
Вызывается RMI-средой в какой-то момент после того, как среда определит, что список ссылок, список клиентов, ссылающихся на удалённый объект, становится пустым.
Specified by:
unreferenced в интерфейсе Unreferenced

createMBean

public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Описание скопировано из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName).
Specified by:
createMBean в интерфейсе RMIConnection
Parameters:
className - Имя класса MBean, который должен быть создан.
name - Имя объекта MBean. Может быть null.
delegationSubject - Subject, содержащий делегированные принципы или null, если вместо этого используется аутентификационный принцип.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Throws:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
IOException - если произошла общая ошибка связи.

createMBean

public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Описание скопировано из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName).
Specified by:
createMBean в интерфейсе RMIConnection
Parameters:
className - Имя класса MBean, который должен быть создан.
name - Имя объекта MBean. Может быть null.
loaderName - Имя объекта загрузчика классов, который должен быть использован.
delegationSubject - Subject содержащий делегированные принципы или null, если вместо этого используется аутентификационный принцип.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Throws:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован в сервере MBean.
IOException - если произошла общая ошибка связи.

createMBean

public ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Описание скопировано из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]). Параметр Object[] заключен в MarshalledObject.
Specified by:
createMBean в интерфейсе RMIConnection
Parameters:
className - Имя класса MBean, который должен быть создан.
name - Имя объекта MBean. Может быть null.
params - Массив, содержащий параметры конструктора, который должен быть вызван, инкапсулированные в MarshalledObject. Вложенный массив может быть null, что эквивалентно пустому массиву.
signature - Массив, содержащий сигнатуру конструктора, который должен быть вызван. Может быть null, что эквивалентно пустому массиву.
delegationSubject - Subject содержащий делегированные принципы или null если используется аутентификационный принцип.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержащийся ObjectName равен n, содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Throws:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, произошедшие при попытке вызвать конструктор MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера MBean.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
IOException - если произошла общая ошибка связи.

createMBean

public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Описание, скопированное из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]). Параметр Object[] упакован в MarshalledObject.
Specified by:
createMBean в интерфейсе RMIConnection
Parameters:
className - Имя класса управляемого объекта (MBean) для создания.
name - Имя объекта MBean. Может быть null.
loaderName - Имя объекта загрузчика классов, который будет использоваться.
params - Массив параметров конструктора, подлежащего вызову, упакованный в MarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву.
signature - Массив сигнатур конструктора, подлежащего вызову. Может быть null, что эквивалентно пустому массиву.
delegationSubject - Subject содержащий принципалы делегирования или null, если вместо этого используется принципал аутентификации.
Returns:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержимое ObjectName равно n, то содержащееся имя Java-класса равно getMBeanInfo(n).getClassName().
Throws:
ReflectionException - Оборачивает java.lang.ClassNotFoundException или java.lang.Exception, возникшие при попытке вызова конструктора MBean.
InstanceAlreadyExistsException - MBean уже находится под управлением сервера управляемых объектов.
MBeanRegistrationException - Метод preRegister (интерфейс MBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован.
MBeanException - Конструктор MBean выбросил исключение.
NotCompliantMBeanException - Этот класс не является совместимым с JMX MBean.
InstanceNotFoundException - Указанный загрузчик классов не зарегистрирован на сервере управляемых объектов.
IOException - Если произошла общая ошибка связи.

unregisterMBean

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

getObjectInstance

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

queryMBeans

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

queryNames

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

isRegistered

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

getMBeanCount

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

getAttribute

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

getAttributes

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

setAttribute

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

setAttributes

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

invoke

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

getDefaultDomain

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

getDomains

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

getMBeanInfo

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

isInstanceOf

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

addNotificationListeners

public Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException
Описание скопировано из интерфейса: RMIConnection

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

Регистрирует прослушиватели уведомлений от заданных управляемых объектов (MBeans), соответствующих заданным фильтрам. Затем удаленный клиент может получить уведомления с помощью метода fetchNotifications.

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

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

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

addNotificationListener

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

removeNotificationListeners

public void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Описание скопировано из интерфейса: RMIConnection

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

Этот метод удаляет одного или нескольких NotificationListener с указанного управляемого объекта (MBean) в сервере управляемых объектов.

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

Указано в:
removeNotificationListeners в интерфейсе RMIConnection
Параметры:
name - имя управляемого объекта (MBean), из которого поступают уведомления.
listenerIDs - список ID, соответствующих прослушивателям для удаления.
delegationSubject - Subject содержащий принципалы делегирования или null если используется вместо этого принципал аутентификации.
Выбрасывает:
InstanceNotFoundException - если заданное name не соответствует ни одному зарегистрированному управляемому объекту (MBean).
ListenerNotFoundException - если один из прослушивателей не найден на стороне сервера. Эта ошибка может произойти, если управляемый объект (MBean) отбросил прослушиватель по какой-либо причине, отличной от вызова MBeanServer.removeNotificationListener.
IOException - если произошла общая ошибка связи.

removeNotificationListener

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

removeNotificationListener

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

fetchNotifications

public NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
Описание, скопированное из интерфейса: RMIConnection

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

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

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

toString

public String toString()

Возвращает строковое представление этого объекта. В общем случае, метод toString возвращает строку, которая «текстово представляет» этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком.

Overrides:
toString в классе Object
Returns:
строковое представление этого объекта.

© 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/RMIConnectionImpl.html

Spec-Zone.ru

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