Интерфейс 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- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное имя класса равно null, переданноеObjectNameсодержит шаблон или не указаноObjectNameдля MBean. -
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- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован в сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное имя класса равно null, переданноеObjectNameсодержит шаблон или не указаноObjectNameдля MBean. -
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- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное имя класса равно null, переданноеObjectNameсодержит шаблон, или не указаноObjectNameдля MBean. -
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- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован в сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное имя класса равно null, переданноеObjectNameсодержит шаблон, или не указаноObjectNameдля MBean. -
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) не зарегистрирован в сервере управляемых ресурсов. -
MBeanRegistrationException- Метод preDeregister (MBeanRegistrationинтерфейс) управляемого ресурса выбросил исключение. -
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) не зарегистрирован в сервере управляемых ресурсов. -
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), определяющий управляемые ресурсы (MBeans), которые необходимо получить. Если равно null или не указаны свойства домена и ключа, будут возвращены все зарегистрированные MBeans. -
query- Выражение запроса, применяемое для выбора управляемых ресурсов (MBeans), инкапсулированное вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, для выбора управляемых ресурсов (MBeans) выражение запроса не будет применено. -
delegationSubject- должен бытьnull. - Возвращает:
- Множество содержащее объекты
ObjectInstanceдля выбранных управляемых ресурсов (MBeans). Если ни один управляемый ресурс (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), определяющий имена управляемых ресурсов (MBeans), которые необходимо получить. Если равно null или не указаны свойства домена и ключа, будут возвращены имена всех зарегистрированных MBeans. -
query- Выражение запроса, применяемое для выбора управляемых ресурсов (MBeans), инкапсулированное вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, для выбора управляемых ресурсов (MBeans) выражение запроса не будет применено. -
delegationSubject- должен бытьnull. - Возвращает:
- Множество содержащее ObjectNames для выбранных управляемых ресурсов (MBeans). Если ни один управляемый ресурс (MBean) не удовлетворяет запросу, возвращается пустой список.
- Исключения:
-
SecurityException- если клиент не авторизован для выполнения данной операции. -
IOException- если произошла общая ошибка связи. -
UnsupportedOperationException- еслиdelegationSubjectне равно null.
isRegistered
boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
MBeanServerConnection.isRegistered(ObjectName).- Параметры:
-
name- Имя объекта управляемого ресурса (MBean), который требуется проверить. -
delegationSubject- должен бытьnull. - Возвращает:
- True, если управляемый ресурс (MBean) уже зарегистрирован в сервере управляемых ресурсов, false в противном случае.
- Исключения:
-
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null. -
SecurityException- если клиент не авторизован для выполнения данной операции. -
IOException- если произошла общая ошибка связи. -
UnsupportedOperationException- еслиdelegationSubjectне равно null.
getMBeanCount
Integer getMBeanCount(Subject delegationSubject) throws IOException
MBeanServerConnection.getMBeanCount().- Параметры:
-
delegationSubject- должен бытьnull. - Возвращает:
- количество зарегистрированных управляемых ресурсов (MBeans).
- Исключения:
-
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) не зарегистрирован в сервере управляемых ресурсов. -
ReflectionException- Оборачивает исключениеjava.lang.Exception, выброшенное при вызове метода получения. -
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или атрибут в параметре равен 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) не зарегистрирован в сервере управляемых ресурсов. -
ReflectionException- Произошла ошибка при попытке вызвать метод getAttributes динамического управляемого ресурса (MBean). -
RuntimeOperationsException- Оборачивает исключениеjava.lang.IllegalArgumentException: Имя объекта в параметре равно null или список атрибутов в параметре равен 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 или атрибут в параметре равен 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 или список атрибутов в параметре равен 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 слушателя уведомлений или отправителя уведомлений не соответствует ни одному из зарегистрированных MBeans. -
IllegalArgumentException- Обертывает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
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName).- Параметры:
-
name- Имя MBean, из которого нужно удалить слушателя. -
listener- Имя объекта слушателя для удаления. -
delegationSubject- должен бытьnull. - Исключения:
-
InstanceNotFoundException- Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBeans. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean. -
SecurityException- если клиент не авторизован для выполнения этой операции. -
IOException- если произошла общая ошибка связи. -
IllegalArgumentException- Обертывает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 не соответствует ни одному из зарегистрированных MBeans. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратной связью. -
SecurityException- если клиент не авторизован для выполнения этой операции. -
IOException- если произошла общая ошибка связи. -
IllegalArgumentException- Обертывает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).
Регистрация для получения уведомлений от указанных MBeans, соответствующих заданным фильтрам. После этого удалённый клиент может получить уведомления, используя метод fetchNotifications.
Для каждого слушателя исходные NotificationListener и handback сохраняются на стороне клиента; для идентификации клиентом сервер генерирует и возвращает уникальный listenerID. Этот listenerID передаётся с Notifications удалённому клиенту.
Если любой из пар (имя, фильтр) не может быть зарегистрирован, операция завершается с исключением, и никакие имена и фильтры не регистрируются.
- Параметры:
-
names-ObjectNames, идентифицирующие MBeans, испускающие уведомления. -
filters- Массив маршализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects- должен бытьnull, или массив, не содержащий непустых элементов. - Возвращает:
- массив
listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет то же количество элементов, что и параметры. - Исключения:
-
IllegalArgumentException- еслиnamesилиfiltersравно null, или еслиnamesсодержит null-элемент, или если эти два массива не имеют одинаковый размер. -
ClassCastException- если один из элементовfiltersпри размаршализации не являетсяNotificationFilter. -
InstanceNotFoundException- если одно изnamesне соответствует ни одному из зарегистрированных MBean. -
SecurityException- если для одного из MBeans клиент не авторизован для добавления слушателя. -
IOException- если произошла общая ошибка связи. -
UnsupportedOperationException- еслиdelegationSubjectsне равен null и содержит какие-либо непустые элементы.
Удалить слушателей уведомлений
void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Обрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Этот метод удаляет одного или нескольких слушателей уведомлений из заданного MBean в сервере MBean.
Слушатели уведомлений идентифицируются по идентификаторам, возвращённым методом 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.
Получить уведомления
NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
Получает уведомления с сервера подключения. Этот метод может блокироваться, пока не будет получено хотя бы одно уведомление или пока не истечёт заданное время ожидания. Метод также может вернуть нулевое количество уведомлений в любой момент.
Уведомление может быть включено в результат, если его порядковый номер не меньше clientSequenceNumber, и если этот клиент зарегистрировал хотя бы одного слушателя для MBean, генерирующего это уведомление, с фильтром, принимающим это уведомление. Каждый заинтересованный слушатель идентифицируется целым числом (ID), возвращаемым методом addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Параметры:
-
clientSequenceNumber- первый порядковый номер, который интересует клиента. Если отрицательный, интерпретируется как порядковый номер следующего уведомления. -
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://download.java.net/java/early_access/jdk24/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnection.html