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