Класс 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 |
Создает RMIConnector, который будет подключать сервер RMI-соединения к указанному адресу. |
RMIConnector |
Создает RMIConnector с использованием указанной заглушки RMI. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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:myprotocolname://[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, в этом случае запросы будут выполняться от имени аутентифицированного субъекта, если он есть. - Возвращает:
- объект, реализующий интерфейс
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:
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:
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, 2023, 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/21/docs/api/java.management.rmi/javax/management/remote/rmi/RMIConnector.html