Интерфейс 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() |
Получает идентификатор этого соединения от сервера соединителя. |
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, клиент получает то же Exception. Если метод сервера MBean или попытка его вызова приводит к Error, то 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. Реализация также может отправлять уведомления других типов.
С помощью этого метода можно добавить любое количество прослушивателей. Один и тот же прослушиватель можно добавить несколько раз с одинаковыми или разными значениями фильтра и объекта обратной передачи. Повторяющиеся записи не обрабатываются особым образом. Например, если прослушиватель зарегистрирован дважды без фильтра, его метод 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
Удаляет прослушиватель из списка прослушивателей, получающих уведомления об изменениях состояния. Прослушиватель должен быть предварительно добавлен с теми же тремя параметрами. Если найдено несколько совпадающих прослушивателей, удаляется только один.
- Параметры:
-
l— прослушиватель для получения уведомлений о состоянии соединения. -
f— фильтр для выбора уведомлений, которые будут доставляться прослушивателю. Может иметь значение null. -
handback— объект, передаваемый прослушивателю вместе с каждым уведомлением. Может иметь значение null. - Вызывает исключения:
-
ListenerNotFoundException— если прослушиватель не зарегистрирован в этомJMXConnectorили не зарегистрирован с указанными фильтром и объектом обратной передачи. - См. также:
getConnectionId
String getConnectionId() throws IOException
Получает идентификатор этого соединения от сервера соединителя. Каждое соединение с заданным сервером соединителя имеет уникальный идентификатор, который не меняется в течение всего времени существования соединения.
- Возвращает:
- уникальный идентификатор этого соединения. Он совпадает с идентификатором, который сервер соединителя включает в свои уведомления
JMXConnectionNotification. Вpackage descriptionописаны правила формирования идентификаторов соединений. - Вызывает исключения:
-
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://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/remote/JMXConnector.html