Интерфейс 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 уже был успешно вызван для этого объекта, повторный вызов не оказывает никакого эффекта. Однако, если 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(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 Получает идентификатор этого подключения от сервера-коннектора. Для данного сервера-коннектора каждое подключение будет иметь уникальный идентификатор, который не меняется в течение срока жизни подключения.
- Возвращает:
- уникальный идентификатор этого подключения. Он совпадает с идентификатором, который сервер-коннектор включает в свои
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.