Класс RMIConnectionImpl
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable,Remote,Unreferenced,RMIConnection
public class RMIConnectionImpl extends Object implements RMIConnection, Unreferenced
Реализация интерфейса RMIConnection. Пользовательский код обычно не ссылается на этот класс.
- С момента:
- 1.5
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RMIConnectionImpl |
Создаёт новый RMIConnection. |
Краткое описание методов
Подробное описание конструкторов
RMIConnectionImpl
public RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
RMIConnection. Это соединение может быть использовано с транспортом JRMP. Этот объект не экспортирует себя: ответственность за его соответствующее экспортирование лежит на вызывающей стороне (см. RMIJRMPServerImpl.makeClient(String,Subject)).- Parameters:
-
rmiServer- Объект RMIServerImpl, для которого создаётся это соединение. Поведение не определено, если этот параметр равен null. -
connectionId- Идентификатор этого соединения. Поведение не определено, если этот параметр равен null. -
defaultClassLoader- Класс загрузки по умолчанию, который будет использоваться при десериализации сериализованных объектов. Может быть null, что означает загрузчик классов по умолчанию. -
subject- аутентифицированный субъект, который будет использоваться для авторизации. Может быть null, что означает, что ни один субъект не был аутентифицирован. -
env- окружение, содержащее атрибуты для новогоRMIServerImpl. Может быть null, что эквивалентно пустому отображению.
Подробное описание методов
getConnectionId
public String getConnectionId() throws IOException
RMIConnectionВозвращает идентификатор соединения. Эта строка отличается для каждого открытого соединения с заданным сервером RMI-соединителя.
- Specified by:
-
getConnectionIdв интерфейсеRMIConnection - Returns:
- идентификатор соединения
- Throws:
-
IOException- если произошла общая ошибка связи. - See Also:
close
public void close() throws IOException
RMIConnectionЗакрывает это соединение. По возвращении из этого метода RMI-объект, реализующий этот интерфейс, не экспортируется, поэтому дальнейшие удалённые вызовы к нему завершатся ошибкой.
- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Specified by:
-
closeв интерфейсеRMIConnection - Throws:
-
IOException- если соединение не может быть закрыто, или удалённый объект не может быть не экспортирован, или произошла ошибка связи при передаче удалённого запроса на закрытие.
unreferenced
public void unreferenced()
Unreferenced- Specified by:
-
unreferencedв интерфейсеUnreferenced
createMBean
public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
RMIConnectionMBeanServerConnection.createMBean(String, ObjectName).- Specified by:
-
createMBeanв интерфейсеRMIConnection - Parameters:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
delegationSubject-Subject, содержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Returns:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийсяObjectNameравенn, содержащееся имя Java-класса равно.getMBeanInfo(n).getClassName() - Throws:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
IOException- если произошла общая ошибка связи.
createMBean
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.createMBean(String, ObjectName, ObjectName).- Specified by:
-
createMBeanв интерфейсеRMIConnection - Parameters:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
loaderName- Имя объекта загрузчика классов, который должен быть использован. -
delegationSubject-Subjectсодержащий делегированные принципы илиnull, если вместо этого используется аутентификационный принцип. - Returns:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийсяObjectNameравенn, содержащееся имя Java-класса равно.getMBeanInfo(n).getClassName() - Throws:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован в сервере MBean. -
IOException- если произошла общая ошибка связи.
createMBean
public ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
RMIConnectionMBeanServerConnection.createMBean(String, ObjectName, Object[], String[]). Параметр Object[] заключен в MarshalledObject.- Specified by:
-
createMBeanв интерфейсеRMIConnection - Parameters:
-
className- Имя класса MBean, который должен быть создан. -
name- Имя объекта MBean. Может быть null. -
params- Массив, содержащий параметры конструктора, который должен быть вызван, инкапсулированные вMarshalledObject. Вложенный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив, содержащий сигнатуру конструктора, который должен быть вызван. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subjectсодержащий делегированные принципы илиnullесли используется аутентификационный принцип. - Returns:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержащийсяObjectNameравенn, содержащееся имя Java-класса равно.getMBeanInfo(n).getClassName() - Throws:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшие при попытке вызвать конструктор MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера MBean. -
MBeanRegistrationException- МетодpreRegister(интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
IOException- если произошла общая ошибка связи.
createMBean
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]). Параметр Object[] упакован в MarshalledObject.- Specified by:
-
createMBeanв интерфейсеRMIConnection - Parameters:
-
className- Имя класса управляемого объекта (MBean) для создания. -
name- Имя объекта MBean. Может быть null. -
loaderName- Имя объекта загрузчика классов, который будет использоваться. -
params- Массив параметров конструктора, подлежащего вызову, упакованный вMarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив сигнатур конструктора, подлежащего вызову. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnull, если вместо этого используется принципал аутентификации. - Returns:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержимоеObjectNameравноn, то содержащееся имя Java-класса равно.getMBeanInfo(n).getClassName() - Throws:
-
ReflectionException- Оборачиваетjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, возникшие при попытке вызова конструктора MBean. -
InstanceAlreadyExistsException- MBean уже находится под управлением сервера управляемых объектов. -
MBeanRegistrationException- Метод preRegister (интерфейсMBeanRegistration) MBean выбросил исключение. MBean не будет зарегистрирован. -
MBeanException- Конструктор MBean выбросил исключение. -
NotCompliantMBeanException- Этот класс не является совместимым с JMX MBean. -
InstanceNotFoundException- Указанный загрузчик классов не зарегистрирован на сервере управляемых объектов. -
IOException- Если произошла общая ошибка связи.
unregisterMBean
public void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
RMIConnectionMBeanServerConnection.unregisterMBean(ObjectName).- Specified by:
-
unregisterMBeanв интерфейсеRMIConnection - Parameters:
-
name- Имя объекта MBean, который необходимо удалить из регистрации. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли используется принципал аутентификации вместо этого. - Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован на сервере управляемых объектов. -
MBeanRegistrationException- Метод preDeregister (интерфейсMBeanRegistration) MBean выбросил исключение. -
IOException- Если произошла общая ошибка связи.
getObjectInstance
public ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.getObjectInstance(ObjectName).- Specified by:
-
getObjectInstanceв интерфейсеRMIConnection - Parameters:
-
name- Имя объекта MBean. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Returns:
- Объект
ObjectInstanceсвязанный с MBean, указанным параметром name. СодержимоеObjectNameравноname, а имя класса равно.getMBeanInfo(name).getClassName() - Throws:
-
InstanceNotFoundException- Указанный MBean не зарегистрирован на сервере управляемых объектов. -
IOException- Если произошла общая ошибка связи.
queryMBeans
public Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.queryMBeans(ObjectName, QueryExp). QueryExp упакован в MarshalledObject.- Specified by:
-
queryMBeansв интерфейсеRMIConnection - Parameters:
-
name- Шаблон имени объекта MBean, идентифицирующий MBeans, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены все зарегистрированные MBeans. -
query- Выражение запроса, применяемое для выбора MBeans, упакованное вMarshalledObject. ЕслиMarshalledObjectсодержит null, выражение запроса не будет применено для выбора MBeans. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Returns:
- Множество объектов
ObjectInstanceдля выбранных MBeans. Если ни один MBean не удовлетворяет запросу, возвращается пустой список. - Throws:
-
IOException- Если произошла общая ошибка связи.
queryNames
public Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.queryNames(ObjectName, QueryExp). QueryExp упакован в MarshalledObject.- Specified by:
-
queryNamesв интерфейсеRMIConnection - Parameters:
-
name- Шаблон имени объекта MBean, идентифицирующий имена MBean, которые нужно получить. Если null или не указаны свойства домена и ключа, будут получены имена всех зарегистрированных MBean. -
query- Выражение запроса, применяемое для выбора MBean, упакованное вMarshalledObject. ЕслиMarshalledObjectсодержит null, выражение запроса не будет применено для выбора MBean. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Returns:
- Множество ObjectNames для выбранных MBean. Если ни один MBean не удовлетворяет запросу, возвращается пустой список.
- Throws:
-
IOException- Если произошла общая ошибка связи.
isRegistered
public boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.isRegistered(ObjectName).- Specified by:
-
isRegisteredв интерфейсеRMIConnection - Parameters:
-
name- Имя объекта MBean, который необходимо проверить. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Returns:
- True, если MBean уже зарегистрирован на сервере управляемых объектов, иначе false.
- Throws:
-
IOException- Если произошла общая ошибка связи.
getMBeanCount
public Integer getMBeanCount(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getMBeanCount().- Specified by:
-
getMBeanCountв интерфейсеRMIConnection - Parameters:
-
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Returns:
- количество зарегистрированных MBeans.
- Throws:
-
IOException- Если произошла общая ошибка связи.
getAttribute
public Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getAttribute(ObjectName, String).- Specified by:
-
getAttributeв интерфейсеRMIConnection - Параметры:
-
name- Имя объекта MBean, из которого необходимо получить атрибут. -
attribute- Строка, задающая имя атрибута для получения. -
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется вместо него принцип аутентификации. - Возвращает:
- Значение полученного атрибута.
- Исключения:
-
MBeanException- Оборачивает исключение, сгенерированное методом получения атрибута объекта MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в объекте MBean. -
InstanceNotFoundException- Указанный объект MBean не зарегистрирован в сервере MBean. -
ReflectionException- Оборачиваетjava.lang.Exception, возникшее при попытке вызвать метод получения. -
IOException- если произошла общая ошибка связи. - См. также:
getAttributes
public AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getAttributes(ObjectName, String[]).- Specified by:
-
getAttributesв интерфейсеRMIConnection - Параметры:
-
name- Имя объекта MBean, из которого извлекаются атрибуты. -
attributes- Список атрибутов для извлечения. -
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Возвращает:
- Список извлеченных атрибутов.
- Исключения:
-
InstanceNotFoundException- Указанный объект MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызвать метод getAttributes динамического объекта MBean. -
IOException- если произошла общая ошибка связи. - См. также:
setAttribute
public void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.setAttribute(ObjectName, Attribute). Параметр Attribute обернут в MarshalledObject.- Specified by:
-
setAttributeв интерфейсеRMIConnection - Параметры:
-
name- Имя объекта MBean, в котором будет установлен атрибут. -
attribute- Идентификатор устанавливаемого атрибута и значение, в которое он будет установлен, инкапсулированные вMarshalledObject. -
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Исключения:
-
InstanceNotFoundException- Указанный объект MBean не зарегистрирован в сервере MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в объекте MBean. -
InvalidAttributeValueException- Указанное значение для атрибута неверно. -
MBeanException- Оборачивает исключение, сгенерированное установщиком атрибута объекта MBean. -
ReflectionException- Оборачиваетjava.lang.Exceptionпри попытке вызова установщика. -
IOException- если произошла общая ошибка связи. - См. также:
setAttributes
public AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.setAttributes(ObjectName, AttributeList). Параметр AttributeList обернут в MarshalledObject.- Specified by:
-
setAttributesв интерфейсеRMIConnection - Параметры:
-
name- Имя объекта MBean, в котором будут установлены атрибуты. -
attributes- Список атрибутов: Идентификаторы атрибутов для установки и значения, которые им будут установлены, инкапсулированные вMarshalledObject. -
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Возвращает:
- Список атрибутов, которые были установлены, вместе с их новыми значениями.
- Исключения:
-
InstanceNotFoundException- Указанный объект MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при попытке вызова метода getAttributes динамического объекта MBean. -
IOException- если произошла общая ошибка связи. - См. также:
invoke
public Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.invoke(ObjectName, String, Object[], String[]). Параметр Object[] обернут в MarshalledObject.- Specified by:
-
invokeв интерфейсеRMIConnection - Параметры:
-
name- Имя объекта MBean, на котором будет вызван метод. -
operationName- Имя операции, которая должна быть вызвана. -
params- Массив, содержащий параметры, которые будут установлены при вызове операции, инкапсулированные вMarshalledObject. Обёртку массива может быть null, что эквивалентно пустому массиву. -
signature- Массив, содержащий сигнатуру операции. Классы будут загружены с помощью того же загрузчика классов, что и MBean, на котором вызывалась операция. Может быть null, что эквивалентно пустому массиву. -
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Возвращает:
- Объект, возвращённый операцией, представляющий результат вызова операции на указанном объекте MBean.
- Исключения:
-
InstanceNotFoundException- Указанный объект MBean не зарегистрирован в сервере MBean. -
MBeanException- Оборачивает исключение, сгенерированное вызванным методом объекта MBean. -
ReflectionException- Оборачиваетjava.lang.Exceptionпри попытке вызова метода. -
IOException- если произошла общая ошибка связи.
getDefaultDomain
public String getDefaultDomain(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getDefaultDomain().- Specified by:
-
getDefaultDomainв интерфейсеRMIConnection - Параметры:
-
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Возвращает:
- стандартный домен.
- Исключения:
-
IOException- если произошла общая ошибка связи.
getDomains
public String[] getDomains(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getDomains().- Specified by:
-
getDomainsв интерфейсеRMIConnection - Параметры:
-
delegationSubject-Subject, содержащий принципы делегирования, илиnullесли используется принцип аутентификации вместо него. - Возвращает:
- список доменов.
- Исключения:
-
IOException- если произошла общая ошибка связи.
getMBeanInfo
public MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getMBeanInfo(ObjectName).- Указано в:
-
getMBeanInfoв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean) для анализа -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли используется вместо этого принципал аутентификации. - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого управляемого объекта (MBean). - Выбрасывает:
-
InstanceNotFoundException- Управляемый объект (MBean) с указанным именем не найден. -
IntrospectionException- Произошла ошибка во время интроспекции. -
ReflectionException- Произошла ошибка при попытке вызвать getMBeanInfo для динамического управляемого объекта (Dynamic MBean). -
IOException- если произошла общая ошибка связи.
isInstanceOf
public boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.isInstanceOf(ObjectName, String).- Указано в:
-
isInstanceOfв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean). -
className- Имя класса. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли используется вместо этого принципал аутентификации. - Возвращает:
- true, если управляемый объект (MBean) является экземпляром указанного класса в соответствии с вышеуказанными правилами, в противном случае - false.
- Выбрасывает:
-
InstanceNotFoundException- Управляемый объект (MBean) с указанным именем не зарегистрирован в сервере управляемых объектов. -
IOException- если произошла общая ошибка связи.
addNotificationListeners
public Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException
RMIConnectionОбрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Регистрирует прослушиватели уведомлений от заданных управляемых объектов (MBeans), соответствующих заданным фильтрам. Затем удаленный клиент может получить уведомления с помощью метода fetchNotifications.
Для каждого прослушивателя оригинальный NotificationListener и handback сохраняются на стороне клиента; для возможности их идентификации сервер генерирует и возвращает уникальный listenerID. Этот listenerID пересылается вместе с Notifications удалённому клиенту.
Если хотя бы одна из пар (имя, фильтр) не может быть зарегистрирована, операция завершается с ошибкой, и никакие имена или фильтры не регистрируются.
- Указано в:
-
addNotificationListenersв интерфейсеRMIConnection - Параметры:
-
names- имена управляемых объектов (MBeans), из которых поступают уведомления. -
filters- массив сериализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects-Subjectsот имени которого добавляются прослушиватели. Элементы этого массива могут быть null. Также параметрdelegationSubjectsсам может быть null, что эквивалентно массиву null значений с таким же размером, какnamesиfiltersмассивы. - Возвращает:
- массив
listenerIDsидентифицирующих локальных прослушивателей. Этот массив имеет такое же количество элементов, как параметры. - Выбрасывает:
-
InstanceNotFoundException- если один изnamesне соответствует ни одному зарегистрированному управляемому объекту (MBean). -
IOException- если произошла общая ошибка связи.
addNotificationListener
public void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). Параметр NotificationFilter заключён в MarshalledObject. Параметр Object (возврат) также заключён в MarshalledObject.- Указано в:
-
addNotificationListenerв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean), на котором должен быть добавлен прослушиватель. -
listener- Имя объекта прослушивателя, который будет обрабатывать уведомления, исходящие от зарегистрированного управляемого объекта (MBean). -
filter- Объект фильтра, упакованный вMarshalledObject. Если фильтр, упакованный вMarshalledObject, имеет значение null, то никакое фильтрование не будет выполнено перед обработкой уведомлений. -
handback- Контекст, который будет передан прослушивателю, когда будет отправлено уведомление, упакованный вMarshalledObject. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли вместо этого используется принципал аутентификации. - Выбрасывает:
-
InstanceNotFoundException- Имя управляемого объекта (MBean) прослушивателя уведомлений или объекта-распространителя уведомлений не соответствует ни одному из зарегистрированных управляемых объектов (MBeans). -
IOException- если произошла общая ошибка связи. - См. также:
removeNotificationListeners
public void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
RMIConnectionОбрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Этот метод удаляет одного или нескольких NotificationListener с указанного управляемого объекта (MBean) в сервере управляемых объектов.
NotificationListeners идентифицируются по ID, которые были возвращены методом RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Указано в:
-
removeNotificationListenersв интерфейсеRMIConnection - Параметры:
-
name- имя управляемого объекта (MBean), из которого поступают уведомления. -
listenerIDs- список ID, соответствующих прослушивателям для удаления. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли используется вместо этого принципал аутентификации. - Выбрасывает:
-
InstanceNotFoundException- если заданноеnameне соответствует ни одному зарегистрированному управляемому объекту (MBean). -
ListenerNotFoundException- если один из прослушивателей не найден на стороне сервера. Эта ошибка может произойти, если управляемый объект (MBean) отбросил прослушиватель по какой-либо причине, отличной от вызоваMBeanServer.removeNotificationListener. -
IOException- если произошла общая ошибка связи.
removeNotificationListener
public void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
RMIConnectionMBeanServerConnection.removeNotificationListener(ObjectName, ObjectName).- Указано в:
-
removeNotificationListenerв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean), с которого нужно удалить прослушиватель. -
listener- Имя объекта прослушивателя, который нужно удалить. -
delegationSubject-Subjectсодержащий принципалы делегирования илиnullесли используется вместо этого принципал аутентификации. - Выбрасывает:
-
InstanceNotFoundException- Имя предоставленного управляемого объекта (MBean) не соответствует ни одному из зарегистрированных управляемых объектов (MBeans). -
ListenerNotFoundException- Прослушиватель не зарегистрирован в управляемом объекте (MBean). -
IOException- если произошла общая ошибка связи. - См. также:
removeNotificationListener
public void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
RMIConnectionMBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). Параметр NotificationFilter заключён в MarshalledObject. Параметр Object также заключён в MarshalledObject.
- Specified by:
-
removeNotificationListenerв интерфейсеRMIConnection - Parameters:
-
name- Имя управляемого объекта (MBean), с которого должен быть удалён слушатель. -
listener- Слушатель, который был ранее добавлен к этому управляемому объекту. -
filter- Фильтр, который был указан при добавлении слушателя, упакованный вMarshalledObject. -
handback- Обратная ссылка, которая была указана при добавлении слушателя, упакованная вMarshalledObject. -
delegationSubject-Subjectсодержащий принципы делегирования, илиnull, если используется принципальная аутентификация. - Throws:
-
InstanceNotFoundException- Имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или не зарегистрирован с заданным фильтром и обратной ссылкой. -
IOException- если произошла общая ошибка связи. - See Also:
fetchNotifications
public NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
RMIConnectionПолучает уведомления от сервера-коннектора. Этот метод может блокироваться до тех пор, пока не будет получено хотя бы одно уведомление или не будет достигнут заданный таймаут. Метод также может вернуть нулевые уведомления в любой момент.
Уведомление может быть включено в результат, если его порядковый номер не меньше clientSequenceNumber, и этот клиент зарегистрировал хотя бы одного слушателя для управляемого объекта, генерирующего уведомление, с фильтром, принимающим это уведомление. Каждый слушатель, заинтересованный в уведомлении, идентифицируется целочисленным идентификатором, возвращённым методом RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Specified by:
-
fetchNotificationsв интерфейсеRMIConnection - Parameters:
-
clientSequenceNumber- первый порядковый номер уведомления, который интересует клиент. Если отрицателен, интерпретируется как порядковый номер следующего уведомления. -
maxNotifications- максимальное количество различных уведомлений для возврата. МассивTargetedNotificationв возвращаемомNotificationResultможет содержать больше элементов, если одно и то же уведомление встречается более одного раза. Поведение не определено, если этот параметр отрицателен. -
timeout- максимальное время ожидания в миллисекундах для получения уведомления. Может быть 0, чтобы указать, что метод не должен ждать, если нет уведомлений, а должен вернуть значение сразу. Может бытьLong.MAX_VALUEдля указания отсутствия таймаута. Поведение не определено, если этот параметр отрицателен. - Returns:
NotificationResult.- Throws:
-
IOException- если произошла общая ошибка связи.
toString
public String toString()
Возвращает строковое представление этого объекта. В общем случае, метод toString возвращает строку, которая «текстово представляет» этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком.
- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого объекта.
© 1993, 2023, 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/21/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnectionImpl.html