Интерфейс RMIConnection
- Все суперинтерфейсы:
- AutoCloseable, Closeable, Remote
- Все известные реализующие классы:
- RMIConnectionImpl, RMIConnectionImpl_Stub
public interface RMIConnection extends Closeable, Remote
Объект RMI, используемый для перенаправления запроса MBeanServer от клиента к его реализации MBeanServer на стороне сервера. Для каждого удаленного клиента, подключенного к соединителю RMI, существует один объект Remote, реализующий этот интерфейс.
Код пользователя обычно не ссылается на этот интерфейс. Он определен как часть публичного API, чтобы различные реализации этого API взаимодействовали друг с другом.
Для обеспечения того, чтобы параметры клиента были десериализованы на стороне сервера с правильным загрузчиком классов, параметры клиента, такие как параметры, используемые для вызова метода, упаковываются в MarshalledObject. Реализация этого интерфейса должна сначала получить соответствующий загрузчик классов для операции и её целевого объекта, а затем десериализовать передаваемые параметры с этим загрузчиком классов. За исключением указанных случаев, параметр, являющийся MarshalledObject или MarshalledObject[], не должен быть null; поведение не определено, если он им является.
Аспекты загрузки классов подробно описаны в документе PDF Спецификации JMX, версия 1.4.
Большинство методов в этом интерфейсе параллельны методам в интерфейсе MBeanServerConnection. В случае, когда аспект поведения метода не указан здесь, он такой же, как и в соответствующем методе MBeanServerConnection.
- С:
- 1.5
Методы
Методы
getConnectionId
String getConnectionId()
throws IOException Возвращает идентификатор соединения. Эта строка различна для каждого открытого соединения с заданным сервером соединителя RMI.
- Возвращает:
- идентификатор соединения
- Исключения:
-
IOException- если произошла общая ошибка связи. - См. также:
RMIConnector.connect
close
void close()
throws IOException Закрывает это соединение. После возврата из этого метода объект RMI, реализующий этот интерфейс, становится недоступным, поэтому дальнейшие удаленные вызовы к нему будут неудачными.
- Указано в:
-
closeв интерфейсеAutoCloseable - Указано в:
-
closeв интерфейсеCloseable - Исключения:
-
IOException- если соединение не может быть закрыто, или удаленный объект не может быть сделан недоступным, или произошла ошибка связи при передаче запроса на удаленное закрытие.
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
Subject delegationSubject)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
IOException Обрабатывает метод MBeanServerConnection.createMBean(String,
ObjectName).
- Параметры:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принцип аутентификации. - Возвращает:
- An
ObjectInstance, containing theObjectNameand the Java class name of the newly instantiated MBean. If the containedObjectNameisn, the contained Java class name is.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, которые произошли при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное в параметре имя класса равно null, переданный в параметреObjectNameсодержит шаблон или не указанObjectNameдля MBean. -
SecurityException- если клиент или делегированный Subject (если есть) не имеет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
ObjectName loaderName,
Subject delegationSubject)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.createMBean(String,
ObjectName, ObjectName).
- Параметры:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
loaderName- Имя объекта загрузчика классов, который будет использоваться. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принцип аутентификации. - Возвращает:
- An
ObjectInstance, containing theObjectNameand the Java class name of the newly instantiated MBean. If the containedObjectNameisn, the contained Java class name is.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, которые произошли при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное в параметре имя класса равно null, переданный в параметреObjectNameсодержит шаблон или не указанObjectNameдля MBean. -
SecurityException- если клиент или делегированный Subject (если есть) не имеет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
MarshalledObject params,
String[] signature,
Subject delegationSubject)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
IOException Обрабатывает метод MBeanServerConnection.createMBean(String,
ObjectName, Object[], String[]). Параметр Object[] обернут в MarshalledObject.
- Параметры:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
params- Массив, содержащий параметры конструктора, который должен быть вызван, инкапсулированный вMarshalledObject. Инкапсулированный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив, содержащий сигнатуру конструктора, который должен быть вызван. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принцип аутентификации. - Возвращает:
- An
ObjectInstance, containing theObjectNameand the Java class name of the newly instantiated MBean. If the containedObjectNameisn, the contained Java class name is.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, которые произошли при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное в параметре имя класса равно null, переданный в параметреObjectNameсодержит шаблон или не указанObjectNameдля MBean. -
SecurityException- если клиент или делегированный Subject (если есть) не имеет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
createMBean
ObjectInstance createMBean(String className,
ObjectName name,
ObjectName loaderName,
MarshalledObject params,
String[] signature,
Subject delegationSubject)
throws ReflectionException,
InstanceAlreadyExistsException,
MBeanRegistrationException,
MBeanException,
NotCompliantMBeanException,
InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.createMBean(String,
ObjectName, ObjectName, Object[], String[]). Параметр Object[] обернут в MarshalledObject.
- Параметры:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
loaderName- Имя объекта загрузчика классов, который будет использоваться. -
params- Массив, содержащий параметры конструктора, который должен быть вызван, инкапсулированный вMarshalledObject. Инкапсулированный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив, содержащий сигнатуру конструктора, который должен быть вызван. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принцип аутентификации. - Возвращает:
- An
ObjectInstance, containing theObjectNameand the Java class name of the newly instantiated MBean. If the containedObjectNameisn, the contained Java class name is.getMBeanInfo(n).getClassName() - Исключения:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, которые произошли при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: Переданное в параметре имя класса равно null, переданный в параметреObjectNameсодержит шаблон или не указанObjectNameдля MBean. -
SecurityException- если клиент или делегированный Subject (если есть) не имеет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
unregisterMBean
void unregisterMBean(ObjectName name,
Subject delegationSubject)
throws InstanceNotFoundException,
MBeanRegistrationException,
IOException Обрабатывает метод MBeanServerConnection.unregisterMBean(ObjectName).
- Параметры:
-
name- Имя объекта MBean, который нужно аннулировать. -
delegationSubject-Subject, содержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
MBeanRegistrationException- Метод preDeregister ((MBeanRegistrationинтерфейс)) MBean выбросил исключение. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или MBean, который вы пытаетесь аннулировать, являетсяMBeanServerDelegateMBean. -
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
getObjectInstance
ObjectInstance getObjectInstance(ObjectName name,
Subject delegationSubject)
throws InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.getObjectInstance(ObjectName).
- Параметры:
-
name- Имя объекта MBean. -
delegationSubject-Subject, содержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
ObjectInstance, связанный с MBean, указанным в name. СодержащийсяObjectName-name, а содержащееся имя класса -.getMBeanInfo(name).getClassName()- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
queryMBeans
Set<ObjectInstance> queryMBeans(ObjectName name,
MarshalledObject query,
Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.queryMBeans(ObjectName,
QueryExp). QueryExp упакован в MarshalledObject.
- Параметры:
-
name- Шаблон имени объекта, определяющий MBeans, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены все зарегистрированные MBeans. -
query- Выражение запроса, которое применяется для выбора MBeans, упакованное вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, выражение запроса не будет применено для выбора MBeans. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- Множество, содержащее
ObjectInstanceобъекты для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Исключения:
-
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
queryNames
Set<ObjectName> queryNames(ObjectName name,
MarshalledObject query,
Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.queryNames(ObjectName,
QueryExp). QueryExp упакован в MarshalledObject.
- Параметры:
-
name- Шаблон имени объекта, определяющий имена MBean, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены имена всех зарегистрированных MBeans. -
query- Выражение запроса, которое применяется для выбора MBeans, упакованное вMarshalledObject. ЕслиMarshalledObjectсодержит значение null, выражение запроса не будет применено для выбора MBeans. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- Множество, содержащее ObjectNames для выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
- Исключения:
-
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
isRegistered
boolean isRegistered(ObjectName name,
Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.isRegistered(ObjectName).
- Параметры:
-
name- Имя объекта MBean, который нужно проверить. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- True, если MBean уже зарегистрирован в сервере MBean, иначе false.
- Исключения:
-
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null. -
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
getMBeanCount
Integer getMBeanCount(Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.getMBeanCount().
- Параметры:
-
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- количество зарегистрированных MBeans.
- Исключения:
-
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
getAttribute
Object getAttribute(ObjectName name,
String attribute,
Subject delegationSubject)
throws MBeanException,
AttributeNotFoundException,
InstanceNotFoundException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.getAttribute(ObjectName,
String).
- Параметры:
-
name- Имя объекта MBean, из которого нужно получить атрибут. -
attribute- Строка, определяющая имя атрибута, который нужно получить. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- Значение полученного атрибута.
- Исключения:
-
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
MBeanException- Исключение, выброшенное getter MBean. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Оборачиваетjava.lang.Exceptionвыброшенное при попытке вызова getter. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null. -
RuntimeMBeanException- Оборачивает исключение времени выполнения, выброшенное getter MBean. -
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи. - См. также:
setAttribute(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)
getAttributes
AttributeList getAttributes(ObjectName name,
String[] attributes,
Subject delegationSubject)
throws InstanceNotFoundException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.getAttributes(ObjectName,
String[]).
- Параметры:
-
name- Имя объекта MBean, из которого извлекаются атрибуты. -
attributes- Список атрибутов, которые нужно получить. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Возвращает:
- Список полученных атрибутов.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызова метода getAttributes динамического MBean. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибуты в параметре равны null. -
SecurityException- если клиенту или делегированному субъекту (если таковой имеется) нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи. - См. также:
setAttributes(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)
setAttribute
void setAttribute(ObjectName name,
MarshalledObject attribute,
Subject delegationSubject)
throws InstanceNotFoundException,
AttributeNotFoundException,
InvalidAttributeValueException,
MBeanException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.setAttribute(ObjectName,
Attribute). Параметр Attribute упакован в MarshalledObject.
- Параметры:
-
name- Имя MBean, в котором нужно установить атрибут. -
attribute- Идентификатор атрибута, который нужно установить, и значение, на которое нужно его установить, упакованный вMarshalledObject. -
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
InvalidAttributeValueException- Указанное значение для атрибута некорректно. -
MBeanException- Обёртка исключения, сгенерированного установщиком атрибута MBean. -
ReflectionException- Обёртка исключенияjava.lang.Exceptionпри попытке вызова установщика. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре null или атрибут в параметре null. -
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи. - См. также:
getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)
setAttributes
AttributeList setAttributes(ObjectName name,
MarshalledObject attributes,
Subject delegationSubject)
throws InstanceNotFoundException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.setAttributes(ObjectName,
AttributeList). Параметр AttributeList упакован в MarshalledObject.
- Параметры:
-
name- Имя объекта MBean, в котором нужно установить атрибуты. -
attributes- Список атрибутов: Идентификаторы атрибутов, которые нужно установить, и значения, на которые нужно их установить, упакованные вMarshalledObject. -
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- Список атрибутов, которые были установлены, со своими новыми значениями.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызвать метод getAttributes у динамического MBean. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре null или список атрибутов в параметре null. -
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи. - См. также:
getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)
invoke
Object invoke(ObjectName name,
String operationName,
MarshalledObject params,
String[] signature,
Subject delegationSubject)
throws InstanceNotFoundException,
MBeanException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.invoke(ObjectName,
String, Object[], String[]). Параметр Object[] упакован в MarshalledObject.
- Параметры:
-
name- Имя объекта MBean, на котором нужно вызвать метод. -
operationName- Имя операции, которую нужно вызвать. -
params- Массив параметров, которые нужно установить при вызове операции, упакованный вMarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив сигнатур операции. Классы будут загружены с помощью того же загрузчика классов, что и MBean, на котором вызывается операция. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- Объект, возвращённый операцией, представляющий результат вызова операции на указанном MBean.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
MBeanException- Обёртка исключения, сгенерированного вызываемым методом MBean. -
ReflectionException- Обёртка исключенияjava.lang.Exceptionпри попытке вызова метода. -
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи. -
RuntimeOperationsException- Обёртка исключенияIllegalArgumentException, еслиnameилиoperationNameравно null.
getDefaultDomain
String getDefaultDomain(Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.getDefaultDomain().
- Параметры:
-
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- Значение домена по умолчанию.
- Исключения:
-
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи.
getDomains
String[] getDomains(Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.getDomains().
- Параметры:
-
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- Список доменов.
- Исключения:
-
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи.
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name,
Subject delegationSubject)
throws InstanceNotFoundException,
IntrospectionException,
ReflectionException,
IOException Обрабатывает метод MBeanServerConnection.getMBeanInfo(ObjectName).
- Параметры:
-
name- Имя анализируемого MBean -
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого MBean. - Исключения:
-
IntrospectionException- Ошибка во время интроспекции. -
InstanceNotFoundException- MBean не найден. -
ReflectionException- Ошибка при попытке вызвать getMBeanInfo динамического MBean. -
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре null.
isInstanceOf
boolean isInstanceOf(ObjectName name,
String className,
Subject delegationSubject)
throws InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName,
String).
- Параметры:
-
name- Имя MBean. -
className- Имя класса. -
delegationSubject-Subject, содержащий принципалы делегирования, илиnull, если используется принципал аутентификации. - Возвращает:
- true, если указанный MBean является экземпляром указанного класса согласно правилам выше, иначе false.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
SecurityException- Если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException- Если произошла общая ошибка связи. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: Имя объекта в параметре null.
addNotificationListener
void addNotificationListener(ObjectName name,
ObjectName listener,
MarshalledObject filter,
MarshalledObject handback,
Subject delegationSubject)
throws InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName,
ObjectName, NotificationFilter, Object). Параметр NotificationFilter упакован в MarshalledObject. Параметр Object (handback) также упакован в MarshalledObject.
- Параметры:
-
name— Имя MBean, к которому должен быть добавлен слушатель. -
listener— Имя объекта слушателя, который будет обрабатывать уведомления, исходящие от зарегистрированного MBean. -
filter— Объект фильтра, инкапсулированный вMarshalledObject. Если фильтр, инкапсулированный вMarshalledObject, имеет значение null, фильтрация не будет выполняться перед обработкой уведомлений. -
handback— Контекст, который будет отправлен слушателю при возникновении уведомления, инкапсулированный вMarshalledObject. -
delegationSubject—Subject, содержащий делегированные принципы илиnull, если вместо этого используется принцип аутентификации. - Исключения:
-
InstanceNotFoundException— Имя MBean слушателя уведомлений или объекта-распространителя уведомлений не соответствует ни одному из зарегистрированных MBeans. -
RuntimeOperationsException— ОборачиваетIllegalArgumentException. MBean, имя которогоlistener, существует, но не реализует интерфейсNotificationListener, илиnameилиlistenerимеет значение null. -
SecurityException— если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException— если произошла общая ошибка связи. - См. также:
-
removeNotificationListener(ObjectName, ObjectName, Subject),removeNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)
removeNotificationListener
void removeNotificationListener(ObjectName name,
ObjectName listener,
Subject delegationSubject)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName,
ObjectName).
- Параметры:
-
name— Имя MBean, из которого должен быть удален слушатель. -
listener— Имя объекта слушателя, который нужно удалить. -
delegationSubject—Subject, содержащий делегированные принципы, илиnull, если вместо этого используется принцип аутентификации. - Исключения:
-
InstanceNotFoundException— Указанное имя MBean не соответствует ни одному из зарегистрированных MBeans. -
ListenerNotFoundException— Слушатель не зарегистрирован в MBean. -
SecurityException— если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException— если произошла общая ошибка связи. -
RuntimeOperationsException— ОборачиваетIllegalArgumentException, когдаnameилиlistenerимеют значение null. - См. также:
addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)
removeNotificationListener
void removeNotificationListener(ObjectName name,
ObjectName listener,
MarshalledObject filter,
MarshalledObject handback,
Subject delegationSubject)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.removeNotificationListener(ObjectName,
ObjectName, NotificationFilter, Object). Параметр NotificationFilter упакован в MarshalledObject. Параметр Object также упакован в MarshalledObject.
- Параметры:
-
name— Имя MBean, из которого должен быть удален слушатель. -
listener— Слушатель, который ранее был добавлен к этому MBean. -
filter— Фильтр, указанный при добавлении слушателя, инкапсулированный вMarshalledObject. -
handback— Обратная связь, указанная при добавлении слушателя, инкапсулированная вMarshalledObject. -
delegationSubject—Subject, содержащий делегированные принципы, илиnullесли используется принцип аутентификации. - Исключения:
-
InstanceNotFoundException— Предоставленное имя MBean не соответствует ни одному из зарегистрированных MBeans. -
ListenerNotFoundException— Слушатель не зарегистрирован в MBean или он не зарегистрирован с заданным фильтром и обратной связью. -
SecurityException— если у клиента или делегированного субъекта нет разрешения на выполнение этой операции. -
IOException— если произошла общая ошибка связи. -
RuntimeOperationsException— ОборачиваетIllegalArgumentException, когдаnameилиlistenerимеют значение null. - См. также:
addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)
addNotificationListeners
Integer[] addNotificationListeners(ObjectName[] names,
MarshalledObject[] filters,
Subject[] delegationSubjects)
throws InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName,
NotificationListener, NotificationFilter, Object).
Регистрация на получение уведомлений от указанных MBeans, соответствующих заданным фильтрам. Затем удаленный клиент может извлечь уведомления с помощью метода fetchNotifications.
Для каждого слушателя исходный NotificationListener и handback сохраняются на стороне клиента; для того, чтобы клиент мог их идентифицировать, сервер генерирует и возвращает уникальный listenerID. Этот listenerID передаётся с Notifications удалённому клиенту.
Если любой из пар (имя, фильтр) не может быть зарегистрирован, операция завершается с исключением, и никакие имена или фильтры не регистрируются.
- Параметры:
-
names—ObjectNames, идентифицирующие MBeans, генерирующие уведомления. -
filters— Массив сериализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects—Subjectsот имени которого добавляются слушатели. Элементы этого массива могут быть null. Также, сам параметрdelegationSubjectsможет быть null, что эквивалентно массиву нулевых значений с таким же размером, как массивыnamesиfilters. - Возвращаемое значение:
- массив
listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет такое же количество элементов, что и параметры. - Исключения:
-
IllegalArgumentException— еслиnamesилиfiltersравно null, или еслиnamesсодержит нулевой элемент, или если три массива не имеют одинакового размера. -
ClassCastException— если один из элементовfiltersпри размаршаливании является не нулевым объектом, который не являетсяNotificationFilter. -
InstanceNotFoundException— если ни одному изnamesне соответствует зарегистрированный MBean. -
SecurityException— если для одного из MBeans у клиента или делегированного субъекта нет разрешения на добавление слушателя. -
IOException— если произошла общая ошибка связи.
removeNotificationListeners
void removeNotificationListeners(ObjectName name,
Integer[] listenerIDs,
Subject delegationSubject)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Обрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Этот метод удаляет одного или нескольких NotificationListener из заданного MBean в сервере MBean.
NotificationListeners идентифицируются с помощью идентификаторов, возвращённых методом addNotificationListeners(ObjectName[], MarshalledObject[],
Subject[]).
- Параметры:
-
name—ObjectName, идентифицирующие MBean, генерирующий уведомления. -
listenerIDs— Список идентификаторов, соответствующих слушателям для удаления. -
delegationSubject—Subject, содержащий делегированные принципы, илиnullесли вместо этого используется принцип аутентификации. - Исключения:
-
InstanceNotFoundException— Предоставленноеnameне соответствует ни одному из зарегистрированных MBeans. -
ListenerNotFoundException— Один из слушателей не найден на стороне сервера. Это исключение может произойти, если MBean отбросил слушателя по какой-либо причине, отличной от вызоваMBeanServer.removeNotificationListener. -
SecurityException— У клиента или делегированного субъекта нет разрешения на удаление слушателей. -
IOException— Произошла общая ошибка связи. -
IllegalArgumentException— еслиObjectNameилиlistenerIdsравно null, или еслиlistenerIdsсодержит нулевой элемент.
fetchNotifications
NotificationResult fetchNotifications(long clientSequenceNumber,
int maxNotifications,
long timeout)
throws IOException Извлекает уведомления от сервера-коннектора. Этот метод может блокироваться, пока не будет хотя бы одно уведомление или пока не будет достигнут указанный таймаут. Метод также может возвратиться в любой момент без уведомлений.
Уведомление может быть включено в результат, если его порядковый номер не меньше clientSequenceNumber, и этот клиент зарегистрировал хотя бы одного слушателя для MBean, генерирующего уведомление, с фильтром, принимающим уведомление. Каждый слушатель, заинтересованный в уведомлении, идентифицируется целым числом ID, возвращённым методом addNotificationListeners(ObjectName[],
MarshalledObject[], Subject[]).
- Параметры:
-
clientSequenceNumber- первый порядковый номер, который интересует клиента. Если отрицательный, он интерпретируется как порядковый номер, который будет иметь следующее уведомление. -
maxNotifications- максимальное количество различных уведомлений для возврата. МассивTargetedNotificationв возвращаемомNotificationResultможет иметь больше элементов, чем это, если одно и то же уведомление появляется более одного раза. Поведение не определено, если этот параметр отрицательный. -
timeout- максимальное время в миллисекундах ожидания прибытия уведомления. Может быть 0, чтобы указать, что метод не должен ждать, если уведомлений нет, а должен сразу вернуться. Может бытьLong.MAX_VALUE, чтобы указать, что таймаут отсутствует. Поведение не определено, если этот параметр отрицательный. - Возвращает:
- A
NotificationResult. - Выбрасывает:
-
IOException- если произошла общая ошибка связи.
© 1993, 2020, 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.