Интерфейс RMIConnection
- Все суперинтерфейсы:
-
AutoCloseable,Closeable,Remote
- Все известные реализующие классы:
-
RMIConnectionImpl,RMIConnectionImpl_Stub
public interface RMIConnection extends Closeable, Remote
Объект RMI, используемый для пересылки запроса MBeanServer от клиента к его реализации MBeanServer на стороне сервера. Для каждого удаленного клиента, подключенного к соединителю RMI, существует один удаленный объект, реализующий этот интерфейс.
Код пользователя обычно не обращается к этому интерфейсу. Он указан как часть публичного API, чтобы разные реализации этого API могли взаимодействовать.
Чтобы гарантировать, что параметры клиента будут десериализованы на стороне сервера с помощью правильного загрузчика классов, параметры клиента, такие как параметры, используемые для вызова метода, упаковываются в MarshalledObject. Реализация этого интерфейса должна сначала получить соответствующий загрузчик классов для операции и ее цели, а затем десериализовать маршалированные параметры с помощью этого загрузчика классов. За исключением случаев, когда указано иное, параметр, являющийся MarshalledObject или MarshalledObject[], не должен быть равен null; поведение не определено, если он равен null.
Аспекты загрузки классов подробно описаны в спецификации 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- Wraps ajava.lang.ClassNotFoundExceptionor ajava.lang.Exceptionthat occurred when trying to invoke the MBean's constructor. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- методpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Wraps ajava.lang.IllegalArgumentException: The className passed in parameter is null, theObjectNamepassed in parameter contains a pattern or noObjectNameis specified for the MBean. -
SecurityException- если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции. -
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- Wraps ajava.lang.ClassNotFoundExceptionor ajava.lang.Exceptionthat occurred when trying to invoke the MBean's constructor. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- методpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException- Wraps ajava.lang.IllegalArgumentException: The className passed in parameter is null, theObjectNamepassed in parameter contains a pattern or noObjectNameis specified for the MBean. -
SecurityException- если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции. -
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- Wraps ajava.lang.ClassNotFoundExceptionor ajava.lang.Exceptionthat occurred when trying to invoke the MBean's constructor. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- методpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
RuntimeOperationsException- Wraps ajava.lang.IllegalArgumentException: The className passed in parameter is null, theObjectNamepassed in parameter contains a pattern, or noObjectNameis specified for the MBean. -
SecurityException- если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции. -
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- Wraps ajava.lang.ClassNotFoundExceptionor ajava.lang.Exceptionthat occurred when trying to invoke the MBean's constructor. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- методpreRegister(интерфейсMBeanRegistration) MBean вызвал исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean вызвал исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован на сервере MBean. -
RuntimeOperationsException- Wraps ajava.lang.IllegalArgumentException: The className passed in parameter is null, theObjectNamepassed in parameter contains a pattern, or noObjectNameis specified for the MBean. -
SecurityException- если клиент или делегированный субъект (если таковой имеется) не имеет разрешения на выполнение этой операции. -
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- Оборачивает исключение, сгенерированное методом получения MBean. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Оборачиваетjava.lang.Exceptionсгенерированное при попытке вызова метода получения. -
RuntimeOperationsException- Оборачиваетjava.lang.IllegalArgumentException: имя объекта в параметре равно null или атрибут в параметре равен null. -
RuntimeMBeanException- Оборачивает исключение времени выполнения, сгенерированное методом получения 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- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
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- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
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- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи. -
RuntimeOperationsException- Обёртка исключенияIllegalArgumentException, когдаnameилиoperationNameравно null.
getDefaultDomain
String getDefaultDomain(Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.getDefaultDomain().
- Параметры:
-
delegationSubject-Subject, содержащий делегированные принципы илиnull, если используется вместо этого принцип аутентификации. - Возвращает:
- стандартный домен.
- Исключения:
-
SecurityException- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи.
getDomains
String[] getDomains(Subject delegationSubject)
throws IOException Обрабатывает метод MBeanServerConnection.getDomains().
- Параметры:
-
delegationSubject-Subject, содержащий делегированные принципы илиnull, если используется вместо этого принцип аутентификации. - Возвращает:
- список доменов.
- Исключения:
-
SecurityException- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
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- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
IOException- если произошла общая ошибка связи. -
RuntimeOperationsException- Обёртка исключенияjava.lang.IllegalArgumentException: имя объекта в параметре равно null.
isInstanceOf
boolean isInstanceOf(ObjectName name,
String className,
Subject delegationSubject)
throws InstanceNotFoundException,
IOException Обрабатывает метод MBeanServerConnection.isInstanceOf(ObjectName,
String).
- Параметры:
-
name-ObjectNameMBean. -
className- Имя класса. -
delegationSubject-Subject, содержащий делегированные принципы илиnull, если используется вместо этого принцип аутентификации. - Возвращает:
- true, если указанный MBean является экземпляром указанного класса в соответствии с правилами выше, иначе false.
- Исключения:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
SecurityException- если у клиента или делегированного Subject нет разрешения на выполнение этой операции. -
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 слушателя уведомлений или отправителя уведомлений не совпадает ни с одним из зарегистрированных MBean. -
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 не соответствует ни одному из зарегистрированных MBean. -
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 не соответствует ни одному из зарегистрированных MBean. -
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).
Регистрирует обработку уведомлений от указанных MBean, соответствующих заданным фильтрам. После этого удалённый клиент может получить уведомления с помощью метода fetchNotifications.
Для каждого слушателя исходный NotificationListener и handback сохраняются на стороне клиента; для возможности их идентификации сервер генерирует и возвращает уникальный listenerID. Этот listenerID пересылается с Notifications удалённому клиенту.
Если пара (имя, фильтр) не может быть зарегистрирована, операция завершается с ошибкой, и никакие имена или фильтры не регистрируются.
- Параметры:
-
names-ObjectNames, идентифицирующие MBeans, испускающие уведомления. -
filters- Массив сериализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects-Subjectsот имени которого добавляются слушатели. Элементы этого массива могут быть null. Также сам параметрdelegationSubjectsможет быть null, что эквивалентно массиву null-значений с тем же размером, что и массивыnamesиfilters. - Возвращает:
- Массив
listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет такое же количество элементов, как и параметры. - Исключения:
-
IllegalArgumentException- еслиnamesилиfiltersравно null, или еслиnamesсодержит null-элемент, или если три массива не имеют одинакового размера. -
ClassCastException- если один из элементовfiltersраспаковывается как не-null объект, который не являетсяNotificationFilter. -
InstanceNotFoundException- если один изnamesне соответствует ни одному из зарегистрированных MBean. -
SecurityException- если для одного из MBean у клиента или делегированного субъекта нет разрешения на добавление слушателя. -
IOException- если произошла общая ошибка связи.
removeNotificationListeners
void removeNotificationListeners(ObjectName name,
Integer[] listenerIDs,
Subject delegationSubject)
throws InstanceNotFoundException,
ListenerNotFoundException,
IOException Обрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Этот метод удаляет одного или несколько слушателей от заданного MBean в сервере MBean.
Слушатели идентифицируются по ID, возвращенным методом addNotificationListeners(ObjectName[], MarshalledObject[],
Subject[]).
- Параметры:
-
name-ObjectName, идентифицирующие MBean, испускающие уведомления. -
listenerIDs- Список ID, соответствующих слушателям для удаления. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если используется аутентифицирующий принцип. - Исключения:
-
InstanceNotFoundException- Указанныйnameне соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Один из слушателей не найден на стороне сервера. Это может произойти, если MBean отбросил слушателя по какой-либо причине, кроме вызоваMBeanServer.removeNotificationListener. -
SecurityException- У клиента или делегированного субъекта нет разрешения на удаление слушателей. -
IOException- Если произошла общая ошибка связи. -
IllegalArgumentException- ЕслиObjectNameилиlistenerIdsравно null илиlistenerIdsсодержит null-элемент.
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, чтобы указать, что таймаут отсутствует. Поведение не определено, если этот параметр отрицателен. - Возвращает:
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnection.html