Класс RMIConnector
- java.lang.Object
-
- javax.management.remote.rmi.RMIConnector
- Все реализованные интерфейсы:
- Closeable, Serializable, AutoCloseable, JMXAddressable, JMXConnector
public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable
Подключение к удаленному соединителю RMI. Обычно такие подключения создаются с помощью JMXConnectorFactory. Однако специализированные приложения могут использовать этот класс напрямую, например, с помощью заглушки RMIServer, полученной без прохождения через JNDI.
- С:
- 1.5
- См. также:
- Сериализованная форма
Поля
Поля, унаследованные от интерфейса javax.management.remote.JMXConnector
CREDENTIALS Конструкторы
| Конструктор и описание |
|---|
RMIConnector(JMXServiceURL url,
Map<String,?> environment) Создаёт |
RMIConnector(RMIServer rmiServer,
Map<String,?> environment) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback) Добавляет слушателя, который будет информирован о изменениях в статусе подключения. |
void |
close() Закрывает клиентское подключение к серверу. |
void |
connect() Устанавливает подключение к серверу соединителя. |
void |
connect(Map<String,?> environment) Устанавливает подключение к серверу соединителя. |
JMXServiceURL |
getAddress() Адрес этого соединителя. |
String |
getConnectionId() Получает идентификатор этого подключения от сервера соединителя. |
MBeanServerConnection |
getMBeanServerConnection() Возвращает объект |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject) Возвращает объект |
void |
removeConnectionNotificationListener(NotificationListener listener) Удаляет слушателя из списка для информирования о изменениях статуса. |
void |
removeConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback) Удаляет слушателя из списка для информирования о изменениях статуса. |
String |
toString() Возвращает строковое представление этого объекта. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
RMIConnector
public RMIConnector(JMXServiceURL url,
Map<String,?> environment) Создаёт RMIConnector, который будет подключать сервер RMI-коннектора к указанному адресу.
Адрес может напрямую указывать на сервер коннектора, используя один из следующих синтаксисов:
service:jmx:rmi://[host[:port]]/stub/encoded-stub service:jmx:iiop://[host[:port]]/ior/encoded-IOR
(Здесь квадратные скобки [] не являются частью адреса, но указывают, что хост и порт являются необязательными.)
Адрес может вместо этого указать, где найти RMI-заглушку через JNDI, используя один из следующих синтаксисов:
service:jmx:rmi://[host[:port]]/jndi/jndi-name service:jmx:iiop://[host[:port]]/jndi/jndi-name
Реализация также может распознавать дополнительные синтаксисы адресов, например:
service:jmx:iiop://[host[:port]]/stub/encoded-stub
- Параметры:
-
url- адрес сервера RMI-коннектора. -
environment- дополнительные атрибуты, определяющие способ подключения. Для адресов на основе JNDI эти атрибуты могут содержать атрибуты JNDI, распознаваемыеInitialContext. Этот параметр может быть null, что эквивалентно пустому Map. - Исключения:
-
IllegalArgumentException- еслиurlравно null.
RMIConnector
public RMIConnector(RMIServer rmiServer,
Map<String,?> environment) Создаёт RMIConnector, используя указанную RMI-заглушку.
- Параметры:
-
rmiServer- RMI-заглушка, представляющая сервер RMI-коннектора. -
environment- дополнительные атрибуты, определяющие способ подключения. Этот параметр может быть null, что эквивалентно пустому Map. - Исключения:
-
IllegalArgumentException- еслиrmiServerравно null.
Методы
toString
public String toString()
Возвращает строковое представление этого объекта. В общем случае метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть лаконичным, но информативным представлением, удобным для чтения человеком.
getAddress
public JMXServiceURL getAddress()
Адрес этого коннектора.
- Указано в:
-
getAddressв интерфейсеJMXAddressable - Возвращает:
- адрес этого коннектора, или null, если он отсутствует.
- С:
- 1.6
connect
public void connect()
throws IOException Описание скопировано из интерфейса: JMXConnector
Устанавливает подключение к серверу коннектора. Этот метод эквивалентен connect(null).
- Указано в:
-
connectв интерфейсеJMXConnector - Исключения:
-
IOException- если подключение не удалось из-за проблемы с передачей данных, или в случае протоколаiiop, что RMI/IIOP не поддерживается
connect
public void connect(Map<String,?> environment)
throws IOException Описание скопировано из интерфейса: JMXConnector
Устанавливает подключение к серверу коннектора.
Если connect уже было успешно вызвано для этого объекта, повторное его вызов не имеет эффекта. Однако, если JMXConnector.close() был вызван после connect, новый вызов connect вызовет IOException.
В противном случае, либо connect никогда не вызывался для этого объекта, либо он вызывался, но вызвал исключение. Тогда вызов connect попытается установить подключение к серверу коннектора.
- Указано в:
-
connectв интерфейсеJMXConnector - Параметры:
-
environment- свойства подключения. Свойства в этом map переопределяют свойства в map, указанном при созданииJMXConnector, если таковые имеются. Этот параметр может быть null, что эквивалентно пустому map. - Исключения:
-
IOException- если подключение не удалось из-за проблемы с передачей данных, или в случае протоколаiiop, что RMI/IIOP не поддерживается
getConnectionId
public String getConnectionId()
throws IOException Описание скопировано из интерфейса: JMXConnector
Получает идентификатор этого подключения от сервера коннектора. Для данного сервера коннектора каждое подключение будет иметь уникальный идентификатор, который не изменяется в течение всего срока жизни подключения.
- Указано в:
-
getConnectionIdв интерфейсеJMXConnector - Возвращает:
- уникальный идентификатор этого подключения. Он такой же, как идентификатор, который сервер коннектора включает в свои
JMXConnectionNotifications.package descriptionописывает соглашения об идентификаторах подключений. - Исключения:
-
IOException- если идентификатор подключения получить невозможно, например, потому что подключение закрыто или разорвано.
getMBeanServerConnection
public MBeanServerConnection getMBeanServerConnection()
throws IOException Описание скопировано из интерфейса: JMXConnector
Возвращает объект MBeanServerConnection , представляющий удаленный сервер MBean. Для данного JMXConnector, два успешных вызова этого метода обычно возвращают тот же объект MBeanServerConnection , хотя это необязательно.
Для каждого метода в возвращённом MBeanServerConnection, вызов метода приводит к вызову соответствующего метода на удалённом сервере MBean. Значение, возвращаемое методом сервера MBean, является значением, возвращаемым клиенту. Если метод сервера MBean генерирует Exception, то же Exception видно клиенту. Если метод сервера MBean или попытка его вызвать генерирует Error, то Error оборачивается в JMXServerErrorException, что видно клиенту.
Вызов этого метода эквивалентен вызову getMBeanServerConnection(null), что означает, что предмет делегирования не указан и все операции, вызываемые на MBeanServerConnection , должны использовать аутентифицированный предмет, если таковой имеется.
- Указано в:
-
getMBeanServerConnectionв интерфейсеJMXConnector - Возвращает:
- объект, реализующий интерфейс
MBeanServerConnection, перенаправляющий свои методы на удалённый сервер MBean. - Исключения:
-
IOException- если не удалось создать корректныйMBeanServerConnection, например, потому что соединение с удалённым сервером MBean ещё не установлено (методомconnect), или оно было закрыто, или разорвано.
getMBeanServerConnection
public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject)
throws IOException Описание скопировано из интерфейса: JMXConnector
Возвращает объект MBeanServerConnection , представляющий удалённый сервер MBean, на котором операции выполняются от имени предоставленного предмета делегирования. Для данного JMXConnector и Subject, два успешных вызова этого метода обычно возвращают тот же объект MBeanServerConnection , хотя это необязательно.
Для каждого метода в возвращённом MBeanServerConnection, вызов метода вызывает соответствующий метод на удалённом сервере MBean от имени данного предмета делегирования, вместо аутентифицированного предмета. Значение, возвращаемое методом сервера MBean, является значением, возвращаемым клиенту. Если метод сервера MBean генерирует Exception, то же Exception видно клиенту. Если метод сервера MBean или попытка его вызвать генерирует Error, то Error оборачивается в JMXServerErrorException, что видно клиенту.
- Указано в:
-
getMBeanServerConnectionв интерфейсеJMXConnector - Параметры:
-
delegationSubject-Subject, от имени которого будут выполняться запросы. Может быть null, в этом случае запросы будут выполняться от имени аутентифицированного предмета, если таковой имеется. - Возвращает:
- объект, реализующий интерфейс
MBeanServerConnection, перенаправляющий свои методы на удалённый сервер MBean от имени данного предмета делегирования. - Исключения:
-
IOException- если не удалось создать корректныйMBeanServerConnection, например, потому что соединение с удалённым сервером MBean ещё не установлено (методомconnect), или оно было закрыто, или разорвано.
addConnectionNotificationListener
public void addConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback) Описание скопировано из интерфейса: JMXConnector
Добавляет слушателя, чтобы получать уведомления о статусе подключения. Слушатель получит уведомления типа JMXConnectionNotification. Реализация может отправлять и другие типы уведомлений.
Любое количество слушателей может быть добавлено с помощью этого метода. Один и тот же слушатель может быть добавлен более одного раза с одинаковыми или различными значениями для фильтра и handback. Нет специального обращения к дублирующей записи. Например, если слушатель зарегистрирован дважды без фильтра, его метод handleNotification будет вызван дважды для каждого уведомления.
- Указано в:
-
addConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener- слушатель для получения уведомлений о статусе подключения. -
filter- фильтр для выбора уведомлений, которые должны быть переданы слушателю, или null, если должны быть переданы все уведомления. -
handback- объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null. - См. также:
-
JMXConnector.removeConnectionNotificationListener(javax.management.NotificationListener),NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener)
throws ListenerNotFoundException Описание скопировано из интерфейса: JMXConnector
Удаляет обработчик из списка, чтобы информировать о изменениях состояния. Обработчик должен быть добавлен ранее. Если существует более одного совпадающего обработчика, все они удаляются.
- Определено в:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener- обработчик для получения уведомлений о состоянии подключения. - Исключения:
-
ListenerNotFoundException- если обработчик не зарегистрирован с этимJMXConnector. - См. также:
-
JMXConnector.removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object),JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object),NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
throws ListenerNotFoundException Описание скопировано из интерфейса: JMXConnector
Удаляет обработчик из списка, чтобы информировать о изменениях состояния. Обработчик должен быть добавлен ранее с теми же тремя параметрами. Если существует более одного совпадающего обработчика, удаляется только один.
- Определено в:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener- обработчик для получения уведомлений о состоянии подключения. -
filter- фильтр для выбора уведомлений, которые должны быть доставлены обработчику. Может быть null. -
handback- объект, который будет передан обработчику вместе с каждым уведомлением. Может быть null. - Исключения:
-
ListenerNotFoundException- если обработчик не зарегистрирован с этимJMXConnector, или не зарегистрирован с заданным фильтром и значением handback. - См. также:
-
JMXConnector.removeConnectionNotificationListener(NotificationListener),JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object),NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
close
public void close()
throws IOException Описание скопировано из интерфейса: JMXConnector
Закрывает клиентское подключение к серверу. Любой текущий или новый запрос, использующий MBeanServerConnection, возвращенный методом JMXConnector.getMBeanServerConnection(), получит IOException.
Если метод close уже был успешно вызван для этого объекта, его повторный вызов не окажет никакого влияния. Если метод close никогда не вызывался или был вызван, но породил исключение, будет сделана попытка закрыть соединение. Эта попытка может быть успешной, в этом случае close вернётся нормально, или она может сгенерировать исключение.
Закрытие соединения - потенциально медленная операция. Например, если сервер упал, операция закрытия может ожидать таймаута сетевого протокола. Вызывающие стороны, которые не хотят блокироваться в операции закрытия, должны выполнять её в отдельном потоке.
- Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеJMXConnector - Исключения:
-
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.