Spec-Zone.ru › OpenJDK 24

Класс 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)).
Параметры:
rmiServer - Объект RMIServerImpl, для которого создаётся это соединение. Поведение не определено, если этот параметр равен null.
connectionId - Идентификатор этого соединения. Поведение не определено, если этот параметр равен null.
defaultClassLoader - Классический загрузчик по умолчанию, используемый при десериализации сериализованных объектов. Может быть null, что означает загрузчик Bootstrap.
subject - аутентифицированный субъект, используемый для авторизации. Может быть null, что означает, что ни один субъект не был аутентифицирован.
env - окружение, содержащее атрибуты для нового RMIServerImpl. Может быть null, что эквивалентно пустому map.

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

getConnectionId

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

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

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

close

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

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

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

unreferenced

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

createMBean

public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Описание скопировано из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.createMBean(String, ObjectName).
Определено в:
createMBean в интерфейсе RMIConnection
Параметры:
className - имя класса MBean, который необходимо создать.
name - имя объекта MBean. Может быть null.
delegationSubject - должен быть null.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержимое ObjectName равно n, содержимое имени Java-класса равно getMBeanInfo(n).getClassName().
Издаёт:
UnsupportedOperationException - если delegationSubject не null.
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).
Определено в:
createMBean в интерфейсе RMIConnection
Параметры:
className - имя класса MBean, который необходимо создать.
name - имя объекта MBean. Может быть null.
loaderName - имя объекта загрузчика классов.
delegationSubject - должен быть null.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержимое ObjectName равно n, содержимое имени Java-класса равно getMBeanInfo(n).getClassName().
Издаёт:
UnsupportedOperationException - если delegationSubject не null.
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.
Определено в:
createMBean в интерфейсе RMIConnection
Параметры:
className - имя класса MBean, который необходимо создать.
name - имя объекта MBean. Может быть null.
params - массив, содержащий параметры вызываемого конструктора, инкапсулированные в MarshalledObject. Вложенный массив может быть null, что эквивалентно пустому массиву.
signature - массив, содержащий сигнатуру вызываемого конструктора. Может быть null, что эквивалентно пустому массиву.
delegationSubject - должен быть null.
Возвращает:
Объект ObjectInstance, содержащий ObjectName и имя Java-класса вновь созданного MBean. Если содержимое ObjectName равно n, содержимое имени Java-класса равно getMBeanInfo(n).getClassName().
Издаёт:
UnsupportedOperationException - если delegationSubject не null.
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 - должен быть null.
Returns:
ObjectInstance, содержащий ObjectName и имя Java-класса только что созданного управляемого объекта (MBean). Если содержащийся ObjectName имеет значение n, содержащееся имя Java-класса — getMBeanInfo(n).getClassName().
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
ReflectionException - Оборачивает исключение java.lang.ClassNotFoundException или java.lang.Exception, произошедшее при попытке вызвать конструктор управляемого объекта (MBean).
InstanceAlreadyExistsException - Управляемый объект (MBean) уже находится под управлением сервера управляемых объектов.
MBeanRegistrationException - Метод preDeregister (интерфейс 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 - должен быть null.
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
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 - должен быть null.
Returns:
ObjectInstance, связанный с управляемым объектом (MBean), указанным в name. Содержащийся ObjectName имеет значение name, и содержащееся имя класса — getMBeanInfo(name).getClassName().
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
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 - должен быть null.
Returns:
Множество объектов ObjectInstance для выбранных управляемых объектов (MBeans). Если ни один управляемый объект (MBean) не удовлетворяет запросу, возвращается пустой список.
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
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), идентифицирующий имена управляемых объектов (MBeans), которые нужно получить. Если равно null или не указаны свойства области и ключа, будут возвращены имена всех зарегистрированных управляемых объектов (MBeans).
query - Выражение запроса, применяемое для выбора имен управляемых объектов (MBeans), упакованное в MarshalledObject. Если MarshalledObject содержит null, выражение запроса не будет применено для выбора имен управляемых объектов (MBeans).
delegationSubject - должен быть null.
Returns:
Множество ObjectNames для выбранных управляемых объектов (MBeans). Если ни один управляемый объект (MBean) не удовлетворяет запросу, возвращается пустой список.
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
IOException - если произошла общая ошибка связи.

isRegistered

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

getMBeanCount

public Integer getMBeanCount(Subject delegationSubject) throws IOException
Описание, скопированное из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.getMBeanCount().
Specified by:
getMBeanCount в интерфейсе RMIConnection
Parameters:
delegationSubject - должен быть null.
Returns:
количество зарегистрированных управляемых объектов (MBeans).
Throws:
UnsupportedOperationException - если delegationSubject не равен null.
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 in interface RMIConnection
Parameters:
name - Имя объекта MBean, из которого необходимо получить атрибут.
attribute - Строка, содержащая имя атрибута для получения.
delegationSubject - должен быть null.
Returns:
Значение полученного атрибута.
Throws:
UnsupportedOperationException - если delegationSubject не null.
MBeanException - Оборачивает исключение, сгенерированное методом получения атрибута MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызова метода получения.
IOException - Если произошла общая ошибка связи.
See Also:
  • 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 in interface RMIConnection
Parameters:
name - Имя объекта MBean, из которого извлекаются атрибуты.
attributes - Список атрибутов для извлечения.
delegationSubject - должен быть null.
Returns:
Список извлечённых атрибутов.
Throws:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при вызове метода getAttributes динамического MBean.
IOException - Если произошла общая ошибка связи.
See Also:
  • 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 in interface RMIConnection
Parameters:
name - Имя MBean, в котором необходимо установить атрибут.
attribute - Идентификатор устанавливаемого атрибута и значение, в которое он должен быть установлен, упакован в MarshalledObject.
delegationSubject - должен быть null.
Throws:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
AttributeNotFoundException - Указанный атрибут недоступен в MBean.
InvalidAttributeValueException - Указанное значение атрибута некорректно.
MBeanException - Оборачивает исключение, сгенерированное методом установки атрибута MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызова метода установки.
IOException - Если произошла общая ошибка связи.
See Also:
  • 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 in interface RMIConnection
Parameters:
name - Имя объекта MBean, в котором устанавливаются атрибуты.
attributes - Список атрибутов: идентификаторы устанавливаемых атрибутов и значения, в которые они должны быть установлены, упакованы в MarshalledObject.
delegationSubject - должен быть null.
Returns:
Список атрибутов, которые были установлены со своими новыми значениями.
Throws:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
ReflectionException - Произошла ошибка при вызове метода getAttributes динамического MBean.
IOException - Если произошла общая ошибка связи.
See Also:
  • 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 in interface RMIConnection
Parameters:
name - Имя объекта MBean, на котором вызывается метод.
operationName - Имя операции для вызова.
params - Массив параметров, которые будут установлены при вызове операции, упакован в MarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву.
signature - Массив, содержащий сигнатуру операции. Объекты классов будут загружены с помощью того же загрузчика классов, что и MBean, на котором была вызвана операция. Может быть null, что эквивалентно пустому массиву.
delegationSubject - должен быть null.
Returns:
Объект, возвращённый операцией, представляющий результат вызова операции на указанном MBean.
Throws:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Указанный MBean не зарегистрирован в сервере MBean.
MBeanException - Оборачивает исключение, сгенерированное вызываемым методом MBean.
ReflectionException - Оборачивает исключение java.lang.Exception, возникшее при попытке вызова метода.
IOException - Если произошла общая ошибка связи.

getDefaultDomain

public String getDefaultDomain(Subject delegationSubject) throws IOException
Описание, скопированное из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.getDefaultDomain().
Specified by:
getDefaultDomain in interface RMIConnection
Parameters:
delegationSubject - должен быть null.
Returns:
стандартное доменное имя.
Throws:
UnsupportedOperationException - если delegationSubject не null.
IOException - Если произошла общая ошибка связи.

getDomains

public String[] getDomains(Subject delegationSubject) throws IOException
Описание, скопированное из интерфейса: RMIConnection
Обрабатывает метод MBeanServerConnection.getDomains().
Specified by:
getDomains in interface RMIConnection
Parameters:
delegationSubject - должен быть null.
Returns:
список доменов.
Throws:
UnsupportedOperationException - если delegationSubject не null.
IOException - Если произошла общая ошибка связи.

getMBeanInfo

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

addNotificationListeners

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

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

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

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

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

Определено в:
addNotificationListeners в интерфейсе RMIConnection
Параметры:
names - имена управляемых объектов, из которых исходят уведомления.
filters - массив сериализованных представлений NotificationFilters. Элементы этого массива могут быть null.
delegationSubjects - должен быть null или массивом, не содержащим не-null значений.
Возвращает:
массив listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет такое же количество элементов, как и параметры.
Исключения:
UnsupportedOperationException - если delegationSubjects не null и содержит какие-либо не-null значения.
InstanceNotFoundException - если один из names не соответствует ни одному зарегистрированному управляемому объекту.
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 (handback) также обернут в MarshalledObject.
Определено в:
addNotificationListener в интерфейсе RMIConnection
Параметры:
name - Имя управляемого объекта, к которому добавляется слушатель.
listener - Имя объекта слушателя, который будет обрабатывать уведомления, исходящие от зарегистрированного управляемого объекта.
filter - Объект фильтра, упакованный в MarshalledObject. Если значение в MarshalledObject null, фильтрация не будет выполнена.
handback - Контекст, который будет передан слушателю при отправке уведомления, упакованный в MarshalledObject.
delegationSubject - должен быть null.
Исключения:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Имя управляемого объекта слушателя или передатчика уведомлений не совпадает ни с одним зарегистрированным управляемым объектом.
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).

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

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

Определено в:
removeNotificationListeners в интерфейсе RMIConnection
Параметры:
name - имя управляемого объекта, из которого исходят уведомления.
listenerIDs - список идентификаторов слушателей, которые нужно удалить.
delegationSubject - должен быть null.
Исключения:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - если заданное name не соответствует ни одному зарегистрированному управляемому объекту.
ListenerNotFoundException - если один из слушателей не найден на стороне сервера. Эта ошибка может произойти, если управляемый объект удалил слушателя по какой-либо причине, кроме вызова 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 - Имя управляемого объекта, из которого удаляется слушатель.
listener - Имя объекта слушателя, который нужно удалить.
delegationSubject - должен быть null.
Исключения:
UnsupportedOperationException - если delegationSubject не null.
InstanceNotFoundException - Указанное имя управляемого объекта не соответствует ни одному из зарегистрированных управляемых объектов.
ListenerNotFoundException - Слушатель не зарегистрирован в управляемом объекте.
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.
Указано в:
removeNotificationListener в интерфейсе RMIConnection
Параметры:
name - Имя MBean, из которого должен быть удален слушатель.
listener - Слушатель, который был ранее добавлен к этому MBean.
filter - Фильтр, указанный при добавлении слушателя, упакованный в MarshalledObject.
handback - Обратный вызов, указанный при добавлении слушателя, упакованный в MarshalledObject.
delegationSubject - должен быть null.
Исключения:
UnsupportedOperationException - если delegationSubject не равен null.
InstanceNotFoundException - Имя MBean не соответствует ни одному из зарегистрированных MBean.
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или не зарегистрирован с указанным фильтром и обратным вызовом.
IOException - если произошла общая ошибка связи.
См. также:
  • 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, и этот клиент зарегистрировал хотя бы одного слушателя для MBean, генерирующего уведомление, с фильтром, который принимает это уведомление. Каждый слушатель, заинтересованный в уведомлении, идентифицируется целым ID, возвращенным методом RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).

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

toString

public String toString()

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

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта.

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

Spec-Zone.ru

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