Spec-Zone.ru › OpenJDK 21

Интерфейс JMXConnector

Все суперинтерфейсы:
AutoCloseable, Closeable
Все известные реализующие классы:
RMIConnector
public interface JMXConnector extends Closeable

Клиентская часть подключения к API JMX. Объект этого типа может использоваться для установления соединения с сервером подключения.

Новорожденный объект этого типа не подключен. Его метод connect должен быть вызван перед его использованием. Однако объекты, созданные методом JMXConnectorFactory.connect, уже подключены.

С тех пор:
1.5

Краткое описание полей

Модификатор и тип Поле Описание
static final String CREDENTIALS
Имя атрибута, который указывает учетные данные для отправки на сервер подключения во время подключения.

Краткое описание методов

Модификатор и тип Метод Описание
void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Добавляет слушателя для получения уведомлений о изменениях в статусе подключения.
void close()
Закрывает клиентское соединение с сервером.
void connect()
Устанавливает соединение с сервером подключения.
void connect(Map<String,?> env)
Устанавливает соединение с сервером подключения.
String getConnectionId()
Получает идентификатор этого подключения с сервера подключения.
MBeanServerConnection getMBeanServerConnection()
Возвращает объект MBeanServerConnection, представляющий удаленный сервер MBean.
MBeanServerConnection getMBeanServerConnection(Subject delegationSubject)
Устаревший, для удаления: Этот элемент API может быть удалён в будущей версии.
Этот метод поддерживал функцию делегирования субъекта устаревшей версии и полезен только в сочетании с другими API, которые устарели и могут быть удалены в будущем выпуске.
void removeConnectionNotificationListener(NotificationListener listener)
Удаляет слушателя из списка для получения уведомлений о изменениях в статусе.
void removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback)
Удаляет слушателя из списка для получения уведомлений о изменениях в статусе.

Подробное описание полей

CREDENTIALS

static final String CREDENTIALS

Имя атрибута, определяющего данные авторизации, которые необходимо отправить серверу-коннектору во время подключения. Если значение атрибута присутствует, оно представляет собой сериализуемый объект соответствующего типа для сервера JMXAuthenticator.

См. также:
  • Значения константных полей

Подробное описание методов

connect

void connect() throws IOException

Устанавливает подключение к серверу-коннектору. Этот метод эквивалентен connect(null).

Исключение:
IOException - если подключение не удалось установить из-за проблемы с коммуникацией.
SecurityException - если подключение не удалось установить по соображениям безопасности.

connect

void connect(Map<String,?> env) throws IOException

Устанавливает подключение к серверу-коннектору.

Если connect уже был успешно вызван для этого объекта, повторный вызов не повлияет на состояние подключения. Однако, если после connect был вызван метод close(), новый вызов connect вызовет IOException.

В противном случае, либо connect никогда не был вызван для этого объекта, либо был вызван, но при этом возникло исключение. Тогда вызов connect попытается установить подключение к серверу-коннектору.

Параметры:
env - свойства подключения. Свойства в этом отображении переопределяют свойства в отображении, указанном при создании JMXConnector, если таковое присутствует. Этот параметр может быть null, что эквивалентно пустому отображению.
Исключение:
IOException - если подключение не удалось установить из-за проблемы с коммуникацией.
SecurityException - если подключение не удалось установить по соображениям безопасности.

getMBeanServerConnection

MBeanServerConnection getMBeanServerConnection() throws IOException

Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean. Для данного JMXConnector, два успешных вызова этого метода, как правило, возвращают один и тот же объект MBeanServerConnection, хотя это не обязательно.

Для каждого метода в возвращённом MBeanServerConnection, вызов метода вызывает соответствующий метод на удалённом сервере MBean. Возвращаемое значение метода сервера MBean является значением, возвращаемым клиенту. Если метод сервера MBean приводит к Exception, то тот же Exception виден клиенту. Если метод сервера MBean или попытка его вызова приводит к Error, то Error обернут в JMXServerErrorException, который виден клиенту.

Вызов этого метода эквивалентен вызову getMBeanServerConnection(null), что означает, что предмет делегирования не указан, и все операции, выполняемые над MBeanServerConnection, должны использовать аутентифицированный предмет, если он есть.

Возвращает:
объект, реализующий интерфейс MBeanServerConnection, перенаправляя свои методы на удалённый сервер MBean.
Исключение:
IOException - если не может быть создан действительный MBeanServerConnection, например, потому что подключение к удалённому серверу MBean ещё не установлено (методом connect), или оно было закрыто, или прервано.

getMBeanServerConnection

@Deprecated(since="21", forRemoval=true) MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
Устарело, для удаления: Этот элемент API может быть удалён в будущей версии.
Этот метод поддерживал устаревшую функцию делегирования Subject и полезен только в сочетании с другими устаревшими API, которые могут быть удалены в будущей версии. Поэтому этот метод также устарел и может быть удалён. Замены нет.

Возвращает объект MBeanServerConnection , представляющий удалённый сервер MBean, для которого операции выполняются от имени предоставленного предмета делегирования. Для данного JMXConnector и Subject, два успешных вызова этого метода, как правило, возвращают один и тот же объект MBeanServerConnection, хотя это не обязательно.

Для каждого метода в возвращённом MBeanServerConnection, вызов метода вызывает соответствующий метод на удалённом сервере MBean от имени данного предмета делегирования вместо аутентифицированного предмета. Возвращаемое значение метода сервера MBean является значением, возвращаемым клиенту. Если метод сервера MBean приводит к Exception, то тот же Exception виден клиенту. Если метод сервера MBean или попытка его вызова приводит к Error, то Error обернут в JMXServerErrorException, который виден клиенту.

Параметры:
delegationSubject - предмет Subject, от имени которого будут выполняться запросы. Может быть null, в этом случае запросы будут выполняться от имени аутентифицированного Subject, если он есть.
Возвращает:
объект, реализующий интерфейс MBeanServerConnection, перенаправляя свои методы на удалённый сервер MBean от имени указанного предмета делегирования.
Исключение:
IOException - если не может быть создан действительный MBeanServerConnection, например, потому что подключение к удалённому серверу MBean ещё не установлено (методом connect), или оно было закрыто, или прервано.

close

void close() throws IOException

Закрывает клиентское подключение к серверу. Любой текущий или новый запрос, использующий MBeanServerConnection, возвращённый методом getMBeanServerConnection(), получит IOException.

Если close уже был успешно вызван для этого объекта, повторный вызов не повлияет на состояние подключения. Если close никогда не был вызван или был вызван, но при этом возникло исключение, будет предпринята попытка закрыть подключение. Эта попытка может завершиться успешно, в этом случае close вернётся нормально, или может сгенерировать исключение.

Закрытие соединения — потенциально медленная операция. Например, если сервер вышел из строя, операция закрытия может ожидать таймаута сетевого протокола. Звонящие стороны, не желающие блокироваться при закрытии подключения, должны выполнять его в отдельном потоке.

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Исключение:
IOException - если подключение не может быть закрыто должным образом. Если это исключение возникает, неизвестно, был ли закрыт серверный конец подключения должным образом.

addConnectionNotificationListener

void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)

Добавляет слушателя, чтобы получать уведомления о изменениях состояния подключения. Слушатель будет получать уведомления типа JMXConnectionNotification. Реализация может также отправлять другие типы уведомлений.

С помощью этого метода можно добавить любое количество слушателей. Один и тот же слушатель может быть добавлен более одного раза с одинаковыми или разными значениями для фильтра и обратного вызова. Нет специального обращения с дублированными записями. Например, если слушатель зарегистрирован дважды без фильтра, то метод handleNotification будет вызываться дважды для каждого уведомления.

Параметры:
listener - слушатель для получения уведомлений о состоянии подключения.
filter - фильтр для выбора уведомлений, которые должны быть доставлены слушателю, или null, если должны быть доставлены все уведомления.
handback - объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null.
Исключение:
NullPointerException - если listener равно null.
См. также:
  • removeConnectionNotificationListener(javax.management.NotificationListener)
  • NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

removeConnectionNotificationListener

void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException

Удаляет слушателя из списка, который должен получать уведомления об изменениях статуса. Слушатель должен был быть добавлен ранее. Если существует более одного соответствующего слушателя, все они удаляются.

Параметры:
listener - слушатель для получения уведомлений о состоянии подключения.
Исключение:
NullPointerException - если listener равно null.
ListenerNotFoundException - если слушатель не зарегистрирован в данном JMXConnector.
См. также:
  • removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object)
  • addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
  • NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

Удалить слушателя уведомлений о подключении

void removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback) throws ListenerNotFoundException

Удаляет слушателя из списка, который должен быть проинформирован о изменениях статуса. Слушатель должен был быть добавлен ранее с теми же тремя параметрами. Если существует более одного соответствующего слушателя, удаляется только один.

Параметры:
l - слушатель, который будет получать уведомления о статусе подключения.
f - фильтр, который выбирает, какие уведомления должны быть переданы слушателю. Может быть null.
handback - объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null.
Исключения:
ListenerNotFoundException - если слушатель не зарегистрирован с этим JMXConnector, или не зарегистрирован с заданным фильтром и обратной связью.
См. также:
  • removeConnectionNotificationListener(NotificationListener)
  • addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
  • NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

getConnectionId

String getConnectionId() throws IOException

Получает ID этого подключения из сервера коннекторов. Для данного сервера коннекторов каждое подключение будет иметь уникальный ID, который не изменяется в течение жизни подключения.

Возвращает:
уникальный ID этого подключения. Он совпадает с ID, который сервер коннекторов включает в свои JMXConnectionNotificationы. package description описывает соглашения об идентификаторах подключений.
Исключения:
IOException - если идентификатор подключения получить нельзя, например, потому что подключение закрыто или разорвано.

© 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/javax/management/remote/JMXConnector.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API