Интерфейс JMXConnector
- Все суперинтерфейсы:
-
AutoCloseable,Closeable
- Все известные реализующие классы:
RMIConnector
public interface JMXConnector extends Closeable
Клиентский конец коннектора API JMX. Объект этого типа может быть использован для установления соединения с сервером коннектора.
Новорождённый объект этого типа находится в состоянии отсутствия подключения. Его метод connect должен быть вызван перед его использованием. Однако, объекты, созданные методом JMXConnectorFactory.connect, уже подключены.
- С:
- 1.5
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
CREDENTIALS |
Имя атрибута, указывающего на учётные данные, которые необходимо отправить серверу коннектора во время подключения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addConnectionNotificationListener |
Добавляет слушателя для получения информации о изменениях статуса подключения. |
void |
close() |
Закрывает клиентское соединение с сервером. |
void |
connect() |
Устанавливает соединение с сервером коннектора. |
void |
connect |
Устанавливает соединение с сервером коннектора. |
String |
getConnectionId() |
Получает ID этого соединения с сервера коннектора. |
MBeanServerConnection |
getMBeanServerConnection() |
Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean. |
default MBeanServerConnection |
getMBeanServerConnection |
Устаревший, для удаления: Этот элемент API может быть удалён в будущих версиях. Этот метод поддерживал устаревшую функцию делегирования Subject, которая была удалена. |
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 уже был успешно вызван для этого объекта, повторный вызов не окажет никакого влияния. Однако, если после 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, то то же самое исключение увидит клиент. Если метод сервера MBean, или попытка его вызова, сгенерирует исключение Error, то это исключение будет обернуто в JMXServerErrorException, которое увидит клиент.
- Возвращает:
- объект, реализующий интерфейс
MBeanServerConnection, перенаправляя свои методы на удалённый сервер MBean. - Вызывает:
-
IOException- если не удаётся создать допустимыйMBeanServerConnection, например, потому что подключение к удалённому серверу MBean ещё не установлено (методомconnect), или оно было закрыто, или прервано.
getMBeanServerConnection
@Deprecated(since="21", forRemoval=true) default MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
Когда delegationSubject является null, вызов этого метода эквивалентен вызову getMBeanServerConnection().
- Требования к реализации:
- Стандартная реализация этого метода выбросит исключение
UnsupportedOperationException, еслиdelegationSubjectне null. В противном случае она вызываетgetMBeanServerConnection(). - Параметры:
-
delegationSubject- должен бытьnull. - Возвращает:
- объект, реализующий интерфейс
MBeanServerConnection, перенаправляя свои методы на удалённый сервер MBean. - Вызывает:
-
IOException- если не удаётся создать допустимыйMBeanServerConnection, например, потому что подключение к удалённому серверу MBean ещё не установлено (методомconnect), или оно было закрыто, или прервано. -
UnsupportedOperationException- еслиdelegationSubjectне null.
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. Реализация может также отправлять другие типы уведомлений.
Любое количество слушателей может быть добавлено с помощью этого метода. Один и тот же слушатель может быть добавлен более одного раза с теми же или другими значениями для фильтра и handback. Нет специальной обработки дубликатов. Например, если слушатель зарегистрирован дважды без фильтра, то его метод handleNotification будет вызван дважды для каждого уведомления.
- Параметры:
-
listener- слушатель для получения уведомлений о статусе подключения. -
filter- фильтр для выбора уведомлений, которые должны быть переданы слушателю, или null, если должны быть переданы все уведомления. -
handback- объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null. - Вызывает:
-
NullPointerException- еслиlistenerравен null. - См. также:
removeConnectionNotificationListener
void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
Удаляет слушателя из списка для получения уведомлений об изменениях статуса. Слушатель должен быть предварительно добавлен. Если существует более одного совпадающего слушателя, все они удаляются.
- Параметры:
-
listener- слушатель для получения уведомлений о статусе подключения. - Вызывает:
-
NullPointerException- еслиlistenerравен null. -
ListenerNotFoundException- если слушатель не зарегистрирован с этимJMXConnector. - См. также:
removeConnectionNotificationListener
void removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback) throws ListenerNotFoundException
Удаляет слушателя из списка, который должен быть уведомлен об изменениях статуса. Слушатель должен быть предварительно добавлен с теми же тремя параметрами. Если существует более одного совпадающего слушателя, удаляется только один.
- Parameters:
-
l- слушатель, который будет получать уведомления о статусе подключения. -
f- фильтр для выбора уведомлений, которые должны быть доставлены слушателю. Может быть null. -
handback- объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null. - Throws:
-
ListenerNotFoundException- если слушатель не зарегистрирован с этимJMXConnector, или не зарегистрирован с заданным фильтром и возвращаемым значением. - See Also:
getConnectionId
String getConnectionId() throws IOException
Получает идентификатор этого подключения из сервера подключения. Для данного сервера подключения каждое подключение будет иметь уникальный идентификатор, который не изменяется в течение срока действия подключения.
- Returns:
- уникальный идентификатор этого подключения. Это тот же идентификатор, что и включенный сервером подключения в его
JMXConnectionNotifications.package descriptionописывает соглашения для идентификаторов подключений. - Throws:
-
IOException- если идентификатор подключения получить не удаётся, например, потому что подключение закрыто или прервано.
© 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/javax/management/remote/JMXConnector.html