Класс RMIConnector
- Все реализованные интерфейсы:
-
Closeable,Serializable,AutoCloseable,JMXAddressable,JMXConnector
public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable
Подключение к удалённому соединению RMI. Обычно такие подключения создаются с помощью JMXConnectorFactory. Однако специализированные приложения могут использовать этот класс напрямую, например, со RMIServer stub, полученным без использования JNDI.
- С:
- 1.5
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе javax.management.remote.JMXConnector
CREDENTIALS
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RMIConnector |
Создаёт RMIConnector, который будет подключать сервер RMI-соединения по указанному адресу. |
RMIConnector |
Создаёт RMIConnector с использованием заданного RMI stub. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addConnectionNotificationListener |
Добавляет слушателя для получения информации о изменениях статуса подключения. |
void |
close() |
Закрывает клиентское подключение к серверу. |
void |
connect() |
Устанавливает соединение с сервером-соединителем. |
void |
connect |
Устанавливает соединение с сервером-соединителем. |
JMXServiceURL |
getAddress() |
Адрес этого соединения. |
String |
getConnectionId() |
Получает идентификатор этого подключения от сервера-соединителя. |
MBeanServerConnection |
getMBeanServerConnection() |
Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean. |
MBeanServerConnection |
getMBeanServerConnection |
Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean, на котором операции выполняются от имени предоставленного субъекта делегирования. |
void |
removeConnectionNotificationListener |
Удаляет слушателя из списка, для получения уведомлений об изменениях статуса. |
void |
removeConnectionNotificationListener |
Удаляет слушателя из списка, для получения уведомлений об изменениях статуса. |
String |
toString() |
Возвращает строковое представление этого объекта. |
Подробное описание конструкторов
RMIConnector
public RMIConnector(JMXServiceURL url, Map<String,?> environment)
Создает RMIConnector , который будет соединять сервер RMI-соединения с указанным адресом.
Адрес может ссылаться непосредственно на сервер соединения, используя следующий синтаксис:
service:jmx:rmi://[host[:port]]/stub/encoded-stub
(Здесь квадратные скобки [] не являются частью адреса, но указывают на то, что хост и порт являются необязательными.)
Адрес может вместо этого указывать местоположение RMI-заглушки через JNDI, используя следующий синтаксис:
service:jmx:rmi://[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 возвращает строку, которая "текстуально представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта.
getAddress
public JMXServiceURL getAddress()
Адрес этого соединения.
- Определено в:
-
getAddressв интерфейсеJMXAddressable - Возвращает:
- адрес этого соединения, или null, если его нет.
- С:
- 1.6
connect
public void connect() throws IOException
JMXConnectorУстанавливает соединение с сервером соединения. Этот метод эквивалентен connect(null).
- Определено в:
-
connectв интерфейсеJMXConnector - Исключения:
-
IOException- если соединение не удалось установить из-за проблемы с общением
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- если соединение не удалось установить из-за проблемы с общением
getConnectionId
public String getConnectionId() throws IOException
JMXConnectorПолучает идентификатор этого соединения с сервера соединения. Для данного сервера соединения каждое соединение будет иметь уникальный идентификатор, который не меняется в течение срока действия соединения.
- Определено в:
-
getConnectionIdв интерфейсеJMXConnector - Возвращает:
- уникальный идентификатор этого соединения. Он совпадает с идентификатором, который сервер соединения включает в свои
JMXConnectionNotification.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, в этом случае запросы будут выполняться от имени аутентифицированного Subject (если таковой имеется). - Возвращает:
- объект, реализующий интерфейс
MBeanServerConnectionпутем перенаправления своих методов на удаленный сервер MBean от имени данного подлежащего делегированию субъекта. - Исключения:
-
IOException- если не удается создать допустимыйMBeanServerConnection, например, потому что соединение с удаленным сервером MBean еще не установлено (методомconnect), или оно было закрыто, или прервано.
addConnectionNotificationListener
public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnectorДобавляет слушателя для получения уведомлений о изменениях состояния подключения. Слушатель будет получать уведомления типа JMXConnectionNotification. Реализация может отправлять и другие типы уведомлений.
С помощью этого метода можно добавить любое количество слушателей. Один и тот же слушатель может быть добавлен более одного раза с теми же или разными значениями для фильтра и обратного вызова. Дублированные записи не обрабатываются особым образом. Например, если слушатель зарегистрирован дважды без фильтра, его метод handleNotification будет вызываться дважды для каждого уведомления.
- Specified by:
-
addConnectionNotificationListenerв интерфейсеJMXConnector - Parameters:
-
listener- слушатель для получения уведомлений о состоянии подключения. -
filter- фильтр для выбора уведомлений, которые должны быть доставлены слушателю, или null, если должны быть доставлены все уведомления. -
handback- объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null. - See Also:
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnectorУдаляет слушателя из списка для получения уведомлений об изменениях состояния. Слушатель должен быть добавлен ранее. Если существует более одного совпадающего слушателя, все они удаляются.
- Specified by:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Parameters:
-
listener- слушатель для получения уведомлений о состоянии подключения. - Throws:
-
ListenerNotFoundException- если слушатель не зарегистрирован в этомJMXConnector. - See Also:
-
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Удаляет слушателя из списка для получения уведомлений об изменениях состояния. Слушатель должен быть добавлен ранее с теми же тремя параметрами. Если существует более одного совпадающего слушателя, удаляется только один.
- Specified by:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Parameters:
-
listener- слушатель для получения уведомлений о состоянии подключения. -
filter- фильтр для выбора уведомлений, которые должны быть доставлены слушателю. Может быть null. -
handback- объект, который будет передан слушателю вместе с каждым уведомлением. Может быть null. - Throws:
-
ListenerNotFoundException- если слушатель не зарегистрирован в этомJMXConnector, или не зарегистрирован с заданным фильтром и обратным вызовом. - See Also:
-
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 вернётся без исключений, или может сгенерировать исключение.
Закрытие соединения — потенциально медленная операция. Например, если сервер упал, операция закрытия может ждать таймаута сетевого протокола. Вызывающие стороны, которые не хотят блокироваться при закрытии, должны делать это в отдельном потоке.
- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Specified by:
-
closeв интерфейсеJMXConnector - Throws:
-
IOException- если соединение нельзя закрыть корректно. Если это исключение бросается, неизвестно, был ли серверный конец соединения закрыт корректно.
© 1993, 2021, 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/17/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnector.html