Интерфейс JMXConnector
- Все суперинтерфейсы:
-
AutoCloseable,Closeable
- Все известные реализующие классы:
RMIConnector
public interface JMXConnector extends Closeable
Клиентский конец коннектора JMX API. Объект этого типа может быть использован для установления соединения с сервером коннектора.
Новый созданный объект этого типа находится в состоянии разрыва соединения. Его метод connect должен быть вызван перед его использованием. Однако объекты, созданные с помощью JMXConnectorFactory.connect, уже подключены.
- С:
- 1.5
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
CREDENTIALS |
Имя атрибута, указывающего на данные для отправки серверу коннектора во время подключения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addConnectionNotificationListener |
Добавляет слушатель для информирования о изменениях в статусе соединения. |
void |
close() |
Закрывает клиентское соединение с сервером. |
void |
connect() |
Устанавливает соединение с сервером коннектора. |
void |
connect |
Устанавливает соединение с сервером коннектора. |
String |
getConnectionId() |
Получает идентификатор этого соединения с сервера коннектора. |
MBeanServerConnection |
getMBeanServerConnection() |
Возвращает объект MBeanServerConnection , представляющий удаленный сервер MBean. |
MBeanServerConnection |
getMBeanServerConnection |
Возвращает объект MBeanServerConnection , представляющий удаленный сервер MBean, на котором операции выполняются от имени предоставленного делегированного субъекта. |
void |
removeConnectionNotificationListener |
Удаляет слушателя из списка для информирования о изменениях в статусе. |
void |
removeConnectionNotificationListener |
Удаляет слушателя из списка для информирования о изменениях в статусе. |
Подробное описание полей
CREDENTIALS
static final String CREDENTIALS
Имя атрибута, определяющего учётные данные для отправки на сервер подключения во время соединения. Значение, связанное с этим атрибутом (если есть), представляет собой сериализуемый объект соответствующего типа для серверного JMXAuthenticator.
- См. также:
Подробное описание методов
connect
void connect() throws IOException
Устанавливает соединение с сервером подключения. Этот метод эквивалентен connect(null).
- Исключения:
-
IOException- если соединение не удалось установить из-за проблемы с общением. -
SecurityException- если соединение не удалось установить по соображениям безопасности.
connect
void connect(Map<String,?> env) throws IOException
Устанавливает соединение с сервером подключения.
Если connect уже был успешно вызван на этом объекте, повторный вызов не окажет никакого влияния. Однако, если close() был вызван после connect, новый вызов 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
MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
Возвращает объект MBeanServerConnection , представляющий удалённый сервер MBean, на котором операции выполняются от имени предоставленного делегированного субъекта. Для данного JMXConnector и Subject, два успешных вызова этого метода обычно возвращают один и тот же объект MBeanServerConnection, хотя это и не обязательно.
Для каждого метода в возвращаемом MBeanServerConnection, вызов метода вызывает соответствующий метод на удалённом сервере MBean от имени заданного делегированного субъекта вместо аутентифицированного субъекта. Возвращаемое значение метода сервера MBean является значением, возвращаемым клиенту. Если метод сервера MBean приводит к Exception, то клиент увидит то же самое Exception. Если метод сервера MBean или попытка его вызова приводит к Error, то Error оборачивается в JMXServerErrorException, что видно клиенту.
- Параметры:
-
delegationSubject-Subject, от имени которого будут выполняться запросы. Может быть null, в этом случае запросы будут выполняться от имени аутентифицированного субъекта, если таковой имеется. - Возвращает:
- объект, реализующий интерфейс
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
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)
Получить идентификатор подключения
String getConnectionId() throws IOException
Получает идентификатор подключения из сервера-коннектора. Для данного сервера-коннектора каждое подключение будет иметь уникальный идентификатор, который не изменяется в течение всего срока существования подключения.
- Возвращает:
- уникальный идентификатор этого подключения. Это тот же идентификатор, что и включенный сервером-коннектором в его
JMXConnectionNotifications.package descriptionописывает соглашения для идентификаторов подключений. - Исключение:
-
IOException- если идентификатор подключения получить невозможно, например, потому что подключение закрыто или прервано.
© 1993, 2021, 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/17/docs/api/java.management/javax/management/remote/JMXConnector.html