Класс 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)).- Параметры:
-
rmiServer- Объект RMIServerImpl, для которого создаётся это соединение. Поведение не определено, если этот параметр равен null. -
connectionId- Идентификатор этого соединения. Поведение не определено, если этот параметр равен null. -
defaultClassLoader- Классический загрузчик по умолчанию, используемый при десериализации сериализованных объектов. Может быть null, что означает загрузчик Bootstrap. -
subject- аутентифицированный субъект, используемый для авторизации. Может быть null, что означает, что ни один субъект не был аутентифицирован. -
env- окружение, содержащее атрибуты для новогоRMIServerImpl. Может быть null, что эквивалентно пустому map.
Подробное описание методов
getConnectionId
public String getConnectionId() throws IOException
RMIConnectionВозвращает идентификатор соединения. Эта строка отличается для каждого открытого соединения с заданным сервером RMI-соединителя.
- Определено в:
-
getConnectionIdв интерфейсеRMIConnection - Возвращает:
- идентификатор соединения
- Издаёт:
-
IOException- если произошла общая ошибка связи. - См. также:
close
public void close() throws IOException
RMIConnectionЗакрывает это соединение. По возвращении из этого метода RMI-объект, реализующий этот интерфейс, не экспортирован, поэтому дальнейшие удалённые вызовы к нему завершатся ошибкой.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв интерфейсеRMIConnection - Издаёт:
-
IOException- если соединение не удалось закрыть, удалённый объект не удалось экспортировать или произошла ошибка связи при передаче запроса на удалённое закрытие.
unreferenced
public void unreferenced()
Unreferenced- Определено в:
-
unreferencedв интерфейсеUnreferenced
createMBean
public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
RMIConnectionMBeanServerConnection.createMBean(String, ObjectName).- Определено в:
-
createMBeanв интерфейсеRMIConnection - Параметры:
-
className- имя класса MBean, который необходимо создать. -
name- имя объекта MBean. Может быть null. -
delegationSubject- должен бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержимоеObjectNameравноn, содержимое имени Java-класса равно.getMBeanInfo(n).getClassName() - Издаёт:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
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).- Определено в:
-
createMBeanв интерфейсеRMIConnection - Параметры:
-
className- имя класса MBean, который необходимо создать. -
name- имя объекта MBean. Может быть null. -
loaderName- имя объекта загрузчика классов. -
delegationSubject- должен бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержимоеObjectNameравноn, содержимое имени Java-класса равно.getMBeanInfo(n).getClassName() - Издаёт:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
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.- Определено в:
-
createMBeanв интерфейсеRMIConnection - Параметры:
-
className- имя класса MBean, который необходимо создать. -
name- имя объекта MBean. Может быть null. -
params- массив, содержащий параметры вызываемого конструктора, инкапсулированные вMarshalledObject. Вложенный массив может быть null, что эквивалентно пустому массиву. -
signature- массив, содержащий сигнатуру вызываемого конструктора. Может быть null, что эквивалентно пустому массиву. -
delegationSubject- должен бытьnull. - Возвращает:
- Объект
ObjectInstance, содержащийObjectNameи имя Java-класса вновь созданного MBean. Если содержимоеObjectNameравноn, содержимое имени Java-класса равно.getMBeanInfo(n).getClassName() - Издаёт:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
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- должен бытьnull. - Returns:
ObjectInstance, содержащийObjectNameи имя Java-класса только что созданного управляемого объекта (MBean). Если содержащийсяObjectNameимеет значениеn, содержащееся имя Java-класса —.getMBeanInfo(n).getClassName()- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
ReflectionException- Оборачивает исключениеjava.lang.ClassNotFoundExceptionилиjava.lang.Exception, произошедшее при попытке вызвать конструктор управляемого объекта (MBean). -
InstanceAlreadyExistsException- Управляемый объект (MBean) уже находится под управлением сервера управляемых объектов. -
MBeanRegistrationException- Метод preDeregister (интерфейс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- должен бытьnull. - Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
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- должен бытьnull. - Returns:
ObjectInstance, связанный с управляемым объектом (MBean), указанным в name. СодержащийсяObjectNameимеет значениеname, и содержащееся имя класса —.getMBeanInfo(name).getClassName()- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
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- должен бытьnull. - Returns:
- Множество объектов
ObjectInstanceдля выбранных управляемых объектов (MBeans). Если ни один управляемый объект (MBean) не удовлетворяет запросу, возвращается пустой список. - Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
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), идентифицирующий имена управляемых объектов (MBeans), которые нужно получить. Если равно null или не указаны свойства области и ключа, будут возвращены имена всех зарегистрированных управляемых объектов (MBeans). -
query- Выражение запроса, применяемое для выбора имен управляемых объектов (MBeans), упакованное вMarshalledObject. ЕслиMarshalledObjectсодержит null, выражение запроса не будет применено для выбора имен управляемых объектов (MBeans). -
delegationSubject- должен бытьnull. - Returns:
- Множество ObjectNames для выбранных управляемых объектов (MBeans). Если ни один управляемый объект (MBean) не удовлетворяет запросу, возвращается пустой список.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
IOException- если произошла общая ошибка связи.
isRegistered
public boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.isRegistered(ObjectName).- Specified by:
-
isRegisteredв интерфейсеRMIConnection - Parameters:
-
name- Имя объекта управляемого объекта (MBean), который нужно проверить. -
delegationSubject- должен бытьnull. - Returns:
- True, если управляемый объект (MBean) уже зарегистрирован на сервере управляемых объектов, иначе false.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
IOException- если произошла общая ошибка связи.
getMBeanCount
public Integer getMBeanCount(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getMBeanCount().- Specified by:
-
getMBeanCountв интерфейсеRMIConnection - Parameters:
-
delegationSubject- должен бытьnull. - Returns:
- количество зарегистрированных управляемых объектов (MBeans).
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
IOException- если произошла общая ошибка связи.
getAttribute
public Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getAttribute(ObjectName, String).- Specified by:
-
getAttributein interfaceRMIConnection - Parameters:
-
name- Имя объекта MBean, из которого необходимо получить атрибут. -
attribute- Строка, содержащая имя атрибута для получения. -
delegationSubject- должен бытьnull. - Returns:
- Значение полученного атрибута.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
MBeanException- Оборачивает исключение, сгенерированное методом получения атрибута MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Оборачивает исключениеjava.lang.Exception, возникшее при попытке вызова метода получения. -
IOException- Если произошла общая ошибка связи. - See Also:
getAttributes
public AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getAttributes(ObjectName, String[]).- Specified by:
-
getAttributesin interfaceRMIConnection - Parameters:
-
name- Имя объекта MBean, из которого извлекаются атрибуты. -
attributes- Список атрибутов для извлечения. -
delegationSubject- должен бытьnull. - Returns:
- Список извлечённых атрибутов.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при вызове метода getAttributes динамического MBean. -
IOException- Если произошла общая ошибка связи. - See Also:
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:
-
setAttributein interfaceRMIConnection - Parameters:
-
name- Имя MBean, в котором необходимо установить атрибут. -
attribute- Идентификатор устанавливаемого атрибута и значение, в которое он должен быть установлен, упакован вMarshalledObject. -
delegationSubject- должен бытьnull. - Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
AttributeNotFoundException- Указанный атрибут недоступен в MBean. -
InvalidAttributeValueException- Указанное значение атрибута некорректно. -
MBeanException- Оборачивает исключение, сгенерированное методом установки атрибута MBean. -
ReflectionException- Оборачивает исключениеjava.lang.Exception, возникшее при попытке вызова метода установки. -
IOException- Если произошла общая ошибка связи. - See Also:
setAttributes
public AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.setAttributes(ObjectName, AttributeList). Параметр AttributeList упакован в MarshalledObject.- Specified by:
-
setAttributesin interfaceRMIConnection - Parameters:
-
name- Имя объекта MBean, в котором устанавливаются атрибуты. -
attributes- Список атрибутов: идентификаторы устанавливаемых атрибутов и значения, в которые они должны быть установлены, упакованы вMarshalledObject. -
delegationSubject- должен бытьnull. - Returns:
- Список атрибутов, которые были установлены со своими новыми значениями.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
ReflectionException- Произошла ошибка при вызове метода getAttributes динамического MBean. -
IOException- Если произошла общая ошибка связи. - See Also:
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:
-
invokein interfaceRMIConnection - Parameters:
-
name- Имя объекта MBean, на котором вызывается метод. -
operationName- Имя операции для вызова. -
params- Массив параметров, которые будут установлены при вызове операции, упакован вMarshalledObject. Упакованный массив может быть null, что эквивалентно пустому массиву. -
signature- Массив, содержащий сигнатуру операции. Объекты классов будут загружены с помощью того же загрузчика классов, что и MBean, на котором была вызвана операция. Может быть null, что эквивалентно пустому массиву. -
delegationSubject- должен бытьnull. - Returns:
- Объект, возвращённый операцией, представляющий результат вызова операции на указанном MBean.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Указанный MBean не зарегистрирован в сервере MBean. -
MBeanException- Оборачивает исключение, сгенерированное вызываемым методом MBean. -
ReflectionException- Оборачивает исключениеjava.lang.Exception, возникшее при попытке вызова метода. -
IOException- Если произошла общая ошибка связи.
getDefaultDomain
public String getDefaultDomain(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getDefaultDomain().- Specified by:
-
getDefaultDomainin interfaceRMIConnection - Parameters:
-
delegationSubject- должен бытьnull. - Returns:
- стандартное доменное имя.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
IOException- Если произошла общая ошибка связи.
getDomains
public String[] getDomains(Subject delegationSubject) throws IOException
RMIConnectionMBeanServerConnection.getDomains().- Specified by:
-
getDomainsin interfaceRMIConnection - Parameters:
-
delegationSubject- должен бытьnull. - Returns:
- список доменов.
- Throws:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
IOException- Если произошла общая ошибка связи.
getMBeanInfo
public MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
RMIConnectionMBeanServerConnection.getMBeanInfo(ObjectName).- Определено в:
-
getMBeanInfoв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean) для анализа -
delegationSubject- должно бытьnull. - Возвращает:
- Экземпляр
MBeanInfo, позволяющий получить все атрибуты и операции этого управляемого объекта. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Управляемый объект не найден. -
IntrospectionException- Произошла ошибка во время интроспекции. -
ReflectionException- Произошла ошибка при попытке вызвать getMBeanInfo для динамического управляемого объекта. -
IOException- если произошла общая ошибка связи.
isInstanceOf
public boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
RMIConnectionMBeanServerConnection.isInstanceOf(ObjectName, String).- Определено в:
-
isInstanceOfв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта (MBean). -
className- Имя класса. -
delegationSubject- должно бытьnull. - Возвращает:
- true, если управляемый объект является экземпляром указанного класса согласно правилам выше, иначе false.
- Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Управляемый объект не зарегистрирован в сервере управляемых объектов. -
IOException- если произошла общая ошибка связи.
addNotificationListeners
public Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException
RMIConnectionОбрабатывает метод MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Регистрируется для получения уведомлений от указанных управляемых объектов, соответствующих заданным фильтрам. Дальнейший запрос на уведомления может осуществляться с помощью метода fetchNotifications.
Для каждого слушателя на стороне клиента сохраняются исходный NotificationListener и handback; чтобы клиент мог их идентифицировать, сервер генерирует и возвращает уникальный listenerID. Этот listenerID передаётся вместе с Notifications удалённому клиенту.
Если любая пара (имя, фильтр) не может быть зарегистрирована, операция завершается с ошибкой, и никакие имена или фильтры не регистрируются.
- Определено в:
-
addNotificationListenersв интерфейсеRMIConnection - Параметры:
-
names- имена управляемых объектов, из которых исходят уведомления. -
filters- массив сериализованных представленийNotificationFilters. Элементы этого массива могут быть null. -
delegationSubjects- должен бытьnullили массивом, не содержащим не-null значений. - Возвращает:
- массив
listenerIDs, идентифицирующих локальных слушателей. Этот массив имеет такое же количество элементов, как и параметры. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectsне null и содержит какие-либо не-null значения. -
InstanceNotFoundException- если один изnamesне соответствует ни одному зарегистрированному управляемому объекту. -
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 (handback) также обернут в MarshalledObject.- Определено в:
-
addNotificationListenerв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта, к которому добавляется слушатель. -
listener- Имя объекта слушателя, который будет обрабатывать уведомления, исходящие от зарегистрированного управляемого объекта. -
filter- Объект фильтра, упакованный вMarshalledObject. Если значение вMarshalledObjectnull, фильтрация не будет выполнена. -
handback- Контекст, который будет передан слушателю при отправке уведомления, упакованный вMarshalledObject. -
delegationSubject- должен бытьnull. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Имя управляемого объекта слушателя или передатчика уведомлений не совпадает ни с одним зарегистрированным управляемым объектом. -
IOException- если произошла общая ошибка связи. - См. также:
removeNotificationListeners
public void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
RMIConnectionОбрабатывает методы removeNotificationListener(ObjectName, NotificationListener) и removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object).
Этот метод удаляет одного или нескольких слушателей уведомлений от заданного управляемого объекта на сервере управляемых объектов.
Слушатели идентифицируются с помощью идентификаторов, возвращённых методом RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Определено в:
-
removeNotificationListenersв интерфейсеRMIConnection - Параметры:
-
name- имя управляемого объекта, из которого исходят уведомления. -
listenerIDs- список идентификаторов слушателей, которые нужно удалить. -
delegationSubject- должен бытьnull. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- если заданноеnameне соответствует ни одному зарегистрированному управляемому объекту. -
ListenerNotFoundException- если один из слушателей не найден на стороне сервера. Эта ошибка может произойти, если управляемый объект удалил слушателя по какой-либо причине, кроме вызоваMBeanServer.removeNotificationListener. -
IOException- если произошла общая ошибка связи.
removeNotificationListener
public void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
RMIConnectionMBeanServerConnection.removeNotificationListener(ObjectName, ObjectName).- Определено в:
-
removeNotificationListenerв интерфейсеRMIConnection - Параметры:
-
name- Имя управляемого объекта, из которого удаляется слушатель. -
listener- Имя объекта слушателя, который нужно удалить. -
delegationSubject- должен бытьnull. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне null. -
InstanceNotFoundException- Указанное имя управляемого объекта не соответствует ни одному из зарегистрированных управляемых объектов. -
ListenerNotFoundException- Слушатель не зарегистрирован в управляемом объекте. -
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.- Указано в:
-
removeNotificationListenerв интерфейсеRMIConnection - Параметры:
-
name- Имя MBean, из которого должен быть удален слушатель. -
listener- Слушатель, который был ранее добавлен к этому MBean. -
filter- Фильтр, указанный при добавлении слушателя, упакованный вMarshalledObject. -
handback- Обратный вызов, указанный при добавлении слушателя, упакованный вMarshalledObject. -
delegationSubject- должен бытьnull. - Исключения:
-
UnsupportedOperationException- еслиdelegationSubjectне равен null. -
InstanceNotFoundException- Имя MBean не соответствует ни одному из зарегистрированных MBean. -
ListenerNotFoundException- Слушатель не зарегистрирован в MBean или не зарегистрирован с указанным фильтром и обратным вызовом. -
IOException- если произошла общая ошибка связи. - См. также:
fetchNotifications
public NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
RMIConnectionИзвлекает уведомления с сервера подключения. Этот метод может блокироваться до тех пор, пока не будет получено хотя бы одно уведомление или пока не будет достигнут указанный таймаут. Метод также может вернуть нулевые уведомления в любой момент.
Уведомление может быть включено в результат, если его номер последовательности не меньше clientSequenceNumber, и этот клиент зарегистрировал хотя бы одного слушателя для MBean, генерирующего уведомление, с фильтром, который принимает это уведомление. Каждый слушатель, заинтересованный в уведомлении, идентифицируется целым ID, возвращенным методом RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]).
- Указано в:
-
fetchNotificationsв интерфейсеRMIConnection - Параметры:
-
clientSequenceNumber- первый номер последовательности, который интересует клиент. Если отрицательное значение, интерпретируется как номер последовательности следующего уведомления. -
maxNotifications- максимальное количество различных уведомлений для возврата. МассивTargetedNotificationв возвращенномNotificationResultможет содержать больше элементов, если одно и то же уведомление появляется более одного раза. Поведение не определено, если этот параметр отрицательный. -
timeout- максимальное время ожидания в миллисекундах для получения уведомления. Может быть 0, чтобы указать, что метод не должен ждать, если нет уведомлений, но должен сразу вернуть значение. Может бытьLong.MAX_VALUE, чтобы указать, что нет таймаута. Поведение не определено, если этот параметр отрицательный. - Возвращает:
- Объект
NotificationResult. - Исключения:
-
IOException- если произошла общая ошибка связи.
toString
public String toString()
Возвращает строковое представление этого объекта. В общем случае, метод toString возвращает строку, которая "текстуально представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnectionImpl.html