Интерфейс RMIConnection
- Все суперинтерфейсы:
AutoCloseable, Closeable, Remote
- Все известные реализующие классы:
RMIConnectionImpl, RMIConnectionImpl_Stub
public interface RMIConnection extends Closeable, Remote
Объект RMI, используемый для пересылки запроса MBeanServer от клиента к его реализации MBeanServer на стороне сервера. Для каждого удалённого клиента, подключённого к коннектору RMI, существует один удалённый объект, реализующий этот интерфейс.
Пользовательский код обычно не обращается к этому интерфейсу. Он указан как часть общедоступного API, чтобы различные реализации этого API могли взаимодействовать друг с другом.
Чтобы параметры клиента десериализовались на стороне сервера с использованием правильного загрузчика классов, параметры клиента, например параметры, используемые для вызова метода, помещаются в MarshalledObject. Реализация этого интерфейса должна сначала получить соответствующий загрузчик классов для операции и её целевого объекта, а затем десериализовать упакованные параметры с помощью этого загрузчика классов. За исключением случаев, указанных отдельно, параметр типа MarshalledObject или MarshalledObject[] не должен иметь значение null; в противном случае поведение не определено.
Аспекты загрузки классов подробно описаны в спецификации JMX, версия 1.4
Большинство методов этого интерфейса соответствуют методам интерфейса MBeanServerConnection. Если какой-либо аспект поведения метода здесь не указан, он совпадает с поведением соответствующего метода MBeanServerConnection.
Делегирование субъекта JMX удалено. Все методы, принимающие параметр delegationSubject, выбрасывают UnsupportedOperationException, если он не равен null. Этот параметр сохранён для обеспечения взаимодействия со старыми удалёнными клиентами.
- Начиная с:
- 1.5
Краткое описание методов
Подробное описание методов
getConnectionId
String getConnectionId() throws IOException
Возвращает идентификатор соединения. Эта строка отличается для каждого открытого соединения с данным сервером соединителя RMI.
- Возвращает:
- идентификатор соединения
- Выбрасывает:
-
IOException— если произошла общая ошибка связи. - См. также:
close
void close() throws IOException
Закрывает это соединение. После возврата из этого метода RMI-объект, реализующий этот интерфейс, будет снят с экспорта, поэтому последующие удалённые вызовы этого объекта завершатся неудачей.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Выбрасывает:
-
IOException— если не удалось закрыть соединение или снять с экспорта удалённый объект либо произошёл сбой связи при передаче удалённого запроса на закрытие.
createMBean
ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
MBeanServerConnection.createMBean(String, ObjectName).- Параметры:
-
className— имя класса создаваемого экземпляра MBean. -
name— имя объекта MBean. Может быть null. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя класса Java вновь созданного экземпляра MBean. Если содержащееся в нём значениеObjectNameравноn, содержащим именем класса Java будет.getMBeanInfo(n).getClassName() - Выбрасывает:
-
ReflectionException— оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшее при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException— MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException— методpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. Регистрация MBean не будет выполнена. -
MBeanException— конструктор MBean выбросил исключение. -
NotCompliantMBeanException— этот класс не является MBean, совместимым с JMX. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре значение className равно null, переданное в параметре значениеObjectNameсодержит шаблон или для MBean не указано значениеObjectName. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName).- Параметры:
-
className— имя класса создаваемого экземпляра MBean. -
name— имя объекта MBean. Может быть null. -
loaderName— имя объекта загрузчика классов, который будет использоваться. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя класса Java вновь созданного экземпляра MBean. Если содержащееся в нём значениеObjectNameравноn, содержащим именем класса Java будет.getMBeanInfo(n).getClassName() - Выбрасывает:
-
ReflectionException— оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшее при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException— MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException— методpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. Регистрация MBean не будет выполнена. -
MBeanException— конструктор MBean выбросил исключение. -
NotCompliantMBeanException— этот класс не является MBean, совместимым с JMX. -
InstanceNotFoundException— указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре значение className равно null, переданное в параметре значениеObjectNameсодержит шаблон или для MBean не указано значениеObjectName. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
createMBean
ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]). Параметр Object[] обёрнут в MarshalledObject.- Параметры:
-
className— имя класса создаваемого экземпляра MBean. -
name— имя объекта MBean. Может быть null. -
params— массив, содержащий параметры вызываемого конструктора, заключённый вMarshalledObject. Заключённый в него массив может быть null, что эквивалентно пустому массиву. -
signature— массив, содержащий сигнатуру вызываемого конструктора. Может быть null, что эквивалентно пустому массиву. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя класса Java вновь созданного экземпляра MBean. Если содержащееся в нём значениеObjectNameравноn, содержащим именем класса Java будет.getMBeanInfo(n).getClassName() - Выбрасывает:
-
ReflectionException— оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшее при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException— MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException— методpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. Регистрация MBean не будет выполнена. -
MBeanException— конструктор MBean выбросил исключение. -
NotCompliantMBeanException— этот класс не является MBean, совместимым с JMX. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре значение className равно null, переданное в параметре значениеObjectNameсодержит шаблон или для MBean не указано значениеObjectName. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]). Параметр Object[] обёрнут в MarshalledObject.- Параметры:
-
className— имя класса создаваемого экземпляра MBean. -
name— имя объекта MBean. Может быть null. -
loaderName— имя объекта загрузчика классов, который будет использоваться. -
params— массив, содержащий параметры вызываемого конструктора, заключённый вMarshalledObject. Заключённый в него массив может быть null, что эквивалентно пустому массиву. -
signature— массив, содержащий сигнатуру вызываемого конструктора. Может быть null, что эквивалентно пустому массиву. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя класса Java вновь созданного экземпляра MBean. Если содержащееся в нём значениеObjectNameравноn, содержащим именем класса Java будет.getMBeanInfo(n).getClassName() - Выбрасывает:
-
ReflectionException— оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшее при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException— MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException— методpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. Регистрация MBean не будет выполнена. -
MBeanException— конструктор MBean выбросил исключение. -
NotCompliantMBeanException— этот класс не является MBean, совместимым с JMX. -
InstanceNotFoundException— указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: переданное в параметре значение className равно null, переданное в параметре значениеObjectNameсодержит шаблон или для MBean не указано значениеObjectName. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
unregisterMBean
void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
MBeanServerConnection.unregisterMBean(ObjectName).- Параметры:
-
name— имя объекта MBean, регистрацию которого нужно отменить. -
delegationSubject— должно бытьnull. - Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
MBeanRegistrationException— метод preDeregister (интерфейсMBeanRegistration) MBean выбросил исключение. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или MBean, регистрацию которого вы пытаетесь отменить, является MBeanMBeanServerDelegate. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getObjectInstance
ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.getObjectInstance(ObjectName).- Параметры:
-
name— имя объекта MBean. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект
ObjectInstance, связанный с MBean, заданным параметром name. Содержащееся в нём значениеObjectNameравноname, а содержащееся имя класса равно.getMBeanInfo(name).getClassName() - Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
queryMBeans
Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryMBeans(ObjectName, QueryExp). Параметр QueryExp обёрнут в MarshalledObject.- Параметры:
-
name— шаблон имени объекта, определяющий MBean, которые необходимо получить. Если значение равно null или домен и свойства ключей не указаны, будут получены все зарегистрированные MBean. -
query— выражение запроса для выбора MBean, заключённое вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, для выбора MBean не будет применяться выражение запроса. -
delegationSubject— должно бытьnull. - Возвращает:
- Набор объектов
ObjectInstanceдля выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Выбрасывает:
-
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
queryNames
Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryNames(ObjectName, QueryExp). Параметр QueryExp обёрнут в MarshalledObject.- Параметры:
-
name— шаблон имени объекта, определяющий имена MBean, которые необходимо получить. Если значение равно null или домен и свойства ключей не указаны, будут получены имена всех зарегистрированных MBean. -
query— выражение запроса для выбора MBean, заключённое вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, для выбора MBean не будет применяться выражение запроса. -
delegationSubject— должно бытьnull. - Возвращает:
- Набор ObjectName для выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
- Выбрасывает:
-
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
isRegistered
boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
MBeanServerConnection.isRegistered(ObjectName).- Параметры:
-
name— имя объекта MBean, наличие которого необходимо проверить. -
delegationSubject— должно бытьnull. - Возвращает:
- True, если MBean уже зарегистрирован на сервере MBean, в противном случае — false.
- Выбрасывает:
-
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getMBeanCount
Integer getMBeanCount(Subject delegationSubject) throws IOException
MBeanServerConnection.getMBeanCount().- Параметры:
-
delegationSubject— должно бытьnull. - Возвращает:
- количество зарегистрированных MBean.
- Выбрасывает:
-
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getAttribute
Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.getAttribute(ObjectName, String).- Параметры:
-
name— имя объекта MBean, у которого необходимо получить атрибут. -
attribute— строка с именем получаемого атрибута. -
delegationSubject— должно бытьnull. - Возвращает:
- Значение полученного атрибута.
- Выбрасывает:
-
AttributeNotFoundException— указанный атрибут недоступен в MBean. -
MBeanException— оборачивает исключение, выброшенное методом получения атрибута MBean. -
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— оборачиваетjava.lang.Exception, выброшенное при попытке вызвать метод получения атрибута. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта или атрибут в параметре равны null. -
RuntimeMBeanException— оборачивает исключение времени выполнения, выброшенное методом получения атрибута MBean. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
getAttributes
AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.getAttributes(ObjectName, String[]).- Параметры:
-
name— имя объекта MBean, у которого получают атрибуты. -
attributes— список получаемых атрибутов. -
delegationSubject— должно бытьnull. - Возвращает:
- Список полученных атрибутов.
- Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— при попытке вызвать метод getAttributes динамического MBean произошло исключение. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта или атрибуты в параметре равны null. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
setAttribute
void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
MBeanServerConnection.setAttribute(ObjectName, Attribute). Параметр Attribute обёрнут в MarshalledObject.- Параметры:
-
name— имя MBean, для которого задаётся атрибут. -
attribute— идентификатор атрибута и задаваемое ему значение, заключённые вMarshalledObject. -
delegationSubject— должно бытьnull. - Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
AttributeNotFoundException— указанный атрибут недоступен в MBean. -
InvalidAttributeValueException— указанное для атрибута значение недопустимо. -
MBeanException— оборачивает исключение, выброшенное методом установки атрибута MBean. -
ReflectionException— оборачиваетjava.lang.Exception, выброшенное при попытке вызвать метод установки атрибута. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта или атрибут в параметре равны null. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
setAttributes
AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.setAttributes(ObjectName, AttributeList). Параметр AttributeList обёрнут в MarshalledObject.- Параметры:
-
name— имя объекта MBean, для которого задаются атрибуты. -
attributes— список атрибутов: идентификаторы атрибутов и задаваемые им значения, заключённые вMarshalledObject. -
delegationSubject— должно бытьnull. - Возвращает:
- Список заданных атрибутов с новыми значениями.
- Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
ReflectionException— при попытке вызвать метод getAttributes динамического MBean произошло исключение. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта или атрибуты в параметре равны null. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
invoke
Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
MBeanServerConnection.invoke(ObjectName, String, Object[], String[]). Параметр Object[] обёрнут в MarshalledObject.- Параметры:
-
name— имя объекта MBean, для которого вызывается метод. -
operationName— имя вызываемой операции. -
params— массив параметров, передаваемых при вызове операции, заключённый вMarshalledObject. Заключённый в него массив может быть null, что эквивалентно пустому массиву. -
signature— массив, содержащий сигнатуру операции. Объекты классов будут загружены с помощью того же загрузчика классов, который использовался для загрузки MBean, для которого вызвана операция. Может быть null, что эквивалентно пустому массиву. -
delegationSubject— должно бытьnull. - Возвращает:
- Объект, возвращённый операцией и представляющий результат её вызова для указанного MBean.
- Выбрасывает:
-
InstanceNotFoundException— указанный MBean не зарегистрирован на сервере MBean. -
MBeanException— оборачивает исключение, выброшенное вызванным методом MBean. -
ReflectionException— оборачиваетjava.lang.Exception, выброшенное при попытке вызвать метод. -
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
RuntimeOperationsException— оборачиваетIllegalArgumentException, еслиnameилиoperationNameравно null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getDefaultDomain
String getDefaultDomain(Subject delegationSubject) throws IOException
MBeanServerConnection.getDefaultDomain().- Параметры:
-
delegationSubject— должно бытьnull. - Возвращает:
- домен по умолчанию.
- Выбрасывает:
-
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getDomains
String[] getDomains(Subject delegationSubject) throws IOException
MBeanServerConnection.getDomains().- Параметры:
-
delegationSubject— должно бытьnull. - Возвращает:
- список доменов.
- Выбрасывает:
-
SecurityException— если клиент не уполномочен выполнять эту операцию. -
IOException— если произошла общая ошибка связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
MBeanServerConnection.getMBeanInfo(ObjectName).- Параметры:
-
name— имя анализируемого MBean -
delegationSubject— должно бытьnull. - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого MBean. - Вызывает:
-
IntrospectionException— при возникновении исключения во время интроспекции. -
InstanceNotFoundException— если указанный MBean не найден. -
ReflectionException— при возникновении исключения при попытке вызвать getMBeanInfo динамического MBean. -
SecurityException— если клиент не авторизован для выполнения этой операции. -
IOException— при возникновении общего исключения связи. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
isInstanceOf
boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.isInstanceOf(ObjectName, String).- Параметры:
-
name—ObjectNameMBean. -
className— имя класса. -
delegationSubject— должно бытьnull. - Возвращает:
- true, если указанный MBean является экземпляром указанного класса согласно приведенным выше правилам, и false в противном случае.
- Вызывает:
-
InstanceNotFoundException— если указанный MBean не зарегистрирован на сервере MBean. -
SecurityException— если клиент не авторизован для выполнения этой операции. -
IOException— при возникновении общего исключения связи. -
RuntimeOperationsException— оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
addNotificationListener
void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). Параметр NotificationFilter обернут в MarshalledObject. Параметр Object (обратной связи) также обернут в MarshalledObject.- Параметры:
-
name— имя MBean, к которому следует добавить слушателя. -
listener— имя объекта слушателя, который будет обрабатывать уведомления, отправленные зарегистрированным MBean. -
filter— объект фильтра, инкапсулированный вMarshalledObject. Если фильтр, инкапсулированный вMarshalledObject, имеет значение null, перед обработкой уведомлений фильтрация выполняться не будет. -
handback— контекст, который следует передать слушателю при отправке уведомления, инкапсулированный вMarshalledObject. -
delegationSubject— должно бытьnull. - Вызывает:
-
InstanceNotFoundException— имя MBean слушателя уведомлений или MBean, отправляющего уведомления, не соответствует ни одному из зарегистрированных MBean. -
RuntimeOperationsException— оборачиваетIllegalArgumentException. MBean, указанный вlistener, существует, но не реализует интерфейсNotificationListener, либоnameилиlistenerравен null. -
SecurityException— если клиент не авторизован для выполнения этой операции. -
IOException— при возникновении общего исключения связи. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
removeNotificationListener
void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
- Параметры:
-
name— имя MBean, от которого следует удалить слушателя. -
listener— имя объекта слушателя, который следует удалить. -
delegationSubject— должно бытьnull. - Вызывает:
-
InstanceNotFoundException— указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException— слушатель не зарегистрирован в MBean. -
SecurityException— если клиент не авторизован для выполнения этой операции. -
IOException— при возникновении общего исключения связи. -
RuntimeOperationsException— оборачиваетIllegalArgumentException, еслиnameилиlistenerравен null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
removeNotificationListener
void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). Параметр NotificationFilter обернут в MarshalledObject. Параметр Object также обернут в MarshalledObject.- Параметры:
-
name— имя MBean, от которого следует удалить слушателя. -
listener— слушатель, ранее добавленный к этому MBean. -
filter— фильтр, указанный при добавлении слушателя, инкапсулированный вMarshalledObject. -
handback— обратная связь, указанная при добавлении слушателя, инкапсулированная вMarshalledObject. -
delegationSubject— должно бытьnull. - Вызывает:
-
InstanceNotFoundException— указанное имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException— слушатель не зарегистрирован в MBean или зарегистрирован с другим фильтром и значением обратной связи. -
SecurityException— если клиент не авторизован для выполнения этой операции. -
IOException— при возникновении общего исключения связи. -
RuntimeOperationsException— оборачиваетIllegalArgumentException, еслиnameилиlistenerравен null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null. - См. также:
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, идентифицирующие MBean, отправляющие уведомления. -
filters— массив маршализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects— должно бытьnullили массивом, не содержащим ни одной ненулевой записи. - Возвращает:
- массив
listenerIDs, идентифицирующих локальные слушатели. Число элементов этого массива совпадает с числом параметров. - Вызывает:
-
IllegalArgumentException— еслиnamesилиfiltersравно null, еслиnamesсодержит элемент null или если размеры этих двух массивов не совпадают. -
ClassCastException— если один из элементовfiltersдемаршализуется в ненулевой объект, который не являетсяNotificationFilter. -
InstanceNotFoundException— если один изnamesне соответствует ни одному зарегистрированному MBean. -
SecurityException— если для одного из MBean у клиента нет полномочий для добавления слушателя. -
IOException— при возникновении общего исключения связи. -
UnsupportedOperationException— еслиdelegationSubjectsне равно null и содержит ненулевые записи.
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 — это идентификаторы, возвращенные методом addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Параметры:
-
name—ObjectName, идентифицирующий MBean, отправляющий уведомления. -
listenerIDs— список идентификаторов слушателей, которые необходимо удалить. -
delegationSubject— должно бытьnull. - Вызывает:
-
InstanceNotFoundException— если указанныйnameне соответствует ни одному зарегистрированному MBean. -
ListenerNotFoundException— если один из слушателей не найден на стороне сервера. Это исключение может возникнуть, если MBean удалил слушателя по какой-либо причине, отличной от вызоваMBeanServer.removeNotificationListener. -
SecurityException— если клиент не авторизован для удаления слушателей. -
IOException— при возникновении общего исключения связи. -
IllegalArgumentException— еслиObjectNameилиlistenerIdsравно null либо еслиlistenerIdsсодержит элемент null. -
UnsupportedOperationException— еслиdelegationSubjectне равно null.
fetchNotifications
NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
Получает уведомления с сервера соединителя. Этот метод может блокироваться до появления хотя бы одного уведомления или до истечения указанного времени ожидания. Метод также может в любой момент вернуть результат, содержащий ноль уведомлений.
Уведомление может быть включено в результат, если его порядковый номер не меньше clientSequenceNumber и этот клиент зарегистрировал хотя бы одного слушателя для MBean, отправившего уведомление, с фильтром, пропускающим это уведомление. Каждый слушатель, которому требуется это уведомление, идентифицируется целочисленным идентификатором, возвращенным методом addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Параметры:
-
clientSequenceNumber— первый порядковый номер, представляющий интерес для клиента. Если значение отрицательное, оно трактуется как порядковый номер следующего уведомления. -
maxNotifications— максимальное количество различных уведомлений, которые следует вернуть. МассивTargetedNotificationв возвращаемом объектеNotificationResultможет содержать больше элементов, если одно и то же уведомление встречается несколько раз. Поведение не определено, если этот параметр отрицательный. -
timeout— максимальное время ожидания поступления уведомления в миллисекундах. Значение 0 указывает, что метод не должен ждать при отсутствии уведомлений и должен сразу вернуть результат. ЗначениеLong.MAX_VALUEуказывает на отсутствие времени ожидания. Поведение не определено, если этот параметр отрицательный. - Возвращает:
- Объект
NotificationResult. - Вызывает:
-
IOException— при возникновении общего исключения связи.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnection.html