Spec-Zone.ru › OpenJDK 17

Класс 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 stub, полученным без использования JNDI.

С:
1.5
См. также:
  • Сериализованная форма

Краткое описание полей

Поля, объявленные в интерфейсе javax.management.remote.JMXConnector

CREDENTIALS

Краткое описание конструкторов

Конструктор Описание
RMIConnector(JMXServiceURL url, Map<String,?> environment)
Создаёт RMIConnector, который будет подключать сервер RMI-соединения по указанному адресу.
RMIConnector(RMIServer rmiServer, Map<String,?> environment)
Создаёт RMIConnector с использованием заданного RMI stub.

Краткое описание методов

Модификатор и тип Метод Описание
void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Добавляет слушателя для получения информации о изменениях статуса подключения.
void close()
Закрывает клиентское подключение к серверу.
void connect()
Устанавливает соединение с сервером-соединителем.
void connect(Map<String,?> environment)
Устанавливает соединение с сервером-соединителем.
JMXServiceURL getAddress()
Адрес этого соединения.
String getConnectionId()
Получает идентификатор этого подключения от сервера-соединителя.
MBeanServerConnection getMBeanServerConnection()
Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean.
MBeanServerConnection getMBeanServerConnection(Subject delegationSubject)
Возвращает объект MBeanServerConnection, представляющий удалённый сервер MBean, на котором операции выполняются от имени предоставленного субъекта делегирования.
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
 

(Здесь квадратные скобки [] не являются частью адреса, но указывают на то, что хост и порт являются необязательными.)

Адрес может вместо этого указывать местоположение 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:
  • 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

Удаляет слушателя из списка для получения уведомлений об изменениях состояния. Слушатель должен быть добавлен ранее. Если существует более одного совпадающего слушателя, все они удаляются.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API