Класс RMIConnector
- Все реализованные интерфейсы:
Closeable, Serializable, AutoCloseable, JMXAddressable, JMXConnector
public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable
Подключение к удаленному коннектору RMI. Обычно такие подключения создаются с помощью JMXConnectorFactory. Однако специализированные приложения могут использовать этот класс напрямую, например, с заглушкой RMIServer, полученной без обращения к JNDI.
- Начиная с:
- 1.5
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе JMXConnector
CREDENTIALS | Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
CREDENTIALS |
Имя атрибута, задающего учетные данные для отправки серверу коннектора при подключении. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RMIConnector |
Создает RMIConnector, который подключится к серверу коннектора RMI по указанному адресу. |
RMIConnector |
Создает RMIConnector с использованием указанной заглушки RMI. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addConnectionNotificationListener |
Добавляет прослушиватель, который будет получать уведомления об изменении состояния подключения. |
void |
close() |
Закрывает клиентское подключение к серверу. |
void |
connect() |
Устанавливает подключение к серверу коннектора. |
void |
connect |
Устанавливает подключение к серверу коннектора. |
JMXServiceURL |
getAddress() |
Адрес этого коннектора. |
String |
getConnectionId() |
Получает идентификатор этого подключения с сервера коннектора. |
MBeanServerConnection |
getMBeanServerConnection() |
Возвращает объект MBeanServerConnection, представляющий удаленный сервер MBean. |
void |
removeConnectionNotificationListener |
Удаляет прослушиватель из списка получающих уведомления об изменении состояния. |
void |
removeConnectionNotificationListener |
Удаляет прослушиватель из списка получающих уведомления об изменении состояния. |
String |
toString() |
Возвращает строковое представление этого объекта. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарел, подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени. |
Методы, объявленные в интерфейсе JMXConnector
getMBeanServerConnection | Модификатор и тип | Метод | Описание |
|---|---|---|
default MBeanServerConnection |
getMBeanServerConnection |
Устарел, подлежит удалению: этот элемент API может быть удален в будущей версии. Этот метод поддерживал устаревшую функцию делегирования Subject, которая была удалена. |
Подробное описание конструкторов
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 возвращает строку, которая «текстуально представляет» этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения.
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, повторный вызов не повлияет на результат. Однако если после вызова connect был вызван метод JMXConnector.close(), новый вызов connect приведет к выбросу IOException.
В противном случае метод connect для этого объекта либо еще не вызывался, либо вызывался, но завершился исключением. Тогда вызов connect попытается установить подключение к серверу коннектора.
- Определен в:
-
connectв интерфейсеJMXConnector - Параметры:
-
environment— свойства подключения. Свойства в этой карте имеют приоритет над свойствами карты, указанной при созданииJMXConnector, если таковая была указана. Этот параметр может быть равен null, что эквивалентно пустой карте. - Исключения:
-
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в интерфейсеJMXConnector - Возвращает:
- объект, реализующий интерфейс
MBeanServerConnectionи перенаправляющий вызовы своих методов на удаленный сервер MBean. - Исключения:
-
IOException— если не удается создать действительныйMBeanServerConnection, например, потому что подключение к удаленному серверу MBean еще не установлено (с помощью методаconnect), закрыто или разорвано.
addConnectionNotificationListener
public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnectorДобавляет прослушиватель, который будет получать уведомления об изменении состояния подключения. Прослушиватель будет получать уведомления типа JMXConnectionNotification. Реализация может отправлять и уведомления других типов.
С помощью этого метода можно добавить любое количество прослушивателей. Один и тот же прослушиватель можно добавить несколько раз с одинаковыми или разными значениями фильтра и объекта обратной передачи. Повторяющиеся записи не обрабатываются особым образом. Например, если прослушиватель зарегистрирован дважды без фильтра, его метод handleNotification будет вызываться дважды для каждого уведомления.
- Определен в:
-
addConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener— прослушиватель для получения уведомлений о состоянии подключения. -
filter— фильтр для выбора уведомлений, доставляемых прослушивателю, или null, если нужно доставлять все уведомления. -
handback— объект, передаваемый прослушивателю вместе с каждым уведомлением. Может быть равен null. - См. также:
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnectorУдаляет прослушиватель из списка получающих уведомления об изменении состояния. Прослушиватель должен быть предварительно добавлен. Если найдено несколько совпадающих прослушивателей, удаляются все.
- Определен в:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener— прослушиватель для получения уведомлений о состоянии подключения. - Исключения:
-
ListenerNotFoundException— если прослушиватель не зарегистрирован в этомJMXConnector. - См. также:
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
JMXConnectorУдаляет прослушиватель из списка получающих уведомления об изменении состояния. Прослушиватель должен быть предварительно добавлен с теми же тремя параметрами. Если найдено несколько совпадающих прослушивателей, удаляется только один.
- Определен в:
-
removeConnectionNotificationListenerв интерфейсеJMXConnector - Параметры:
-
listener— прослушиватель для получения уведомлений о состоянии подключения. -
filter— фильтр для выбора уведомлений, доставляемых прослушивателю. Может быть равен null. -
handback— объект, передаваемый прослушивателю вместе с каждым уведомлением. Может быть равен null. - Исключения:
-
ListenerNotFoundException— если прослушиватель не зарегистрирован в этомJMXConnectorили не зарегистрирован с указанными фильтром и объектом обратной передачи. - См. также:
close
public void close() throws IOException
JMXConnectorЗакрывает клиентское подключение к серверу. Любой выполняющийся или новый запрос с использованием MBeanServerConnection, возвращенного методом JMXConnector.getMBeanServerConnection(), приведет к возникновению IOException.
Если для этого объекта уже был успешно вызван метод close, повторный вызов не повлияет на результат. Если метод close еще не вызывался или вызывался, но завершился исключением, будет предпринята попытка закрыть подключение. Эта попытка может завершиться успешно, и тогда close завершится штатно, либо может привести к исключению.
Закрытие подключения может занять значительное время. Например, если сервер аварийно завершил работу, операция закрытия может ожидать истечения тайм-аута сетевого протокола. Вызывающим сторонам, которые не хотят блокироваться при закрытии, следует выполнять эту операцию в отдельном потоке.
- Определен в:
-
closeв интерфейсеAutoCloseable - Определен в:
-
closeв интерфейсеCloseable - Определен в:
-
closeв интерфейсеJMXConnector - Исключения:
-
IOException— если подключение не удается корректно закрыть. При возникновении этого исключения неизвестно, было ли корректно закрыто подключение на стороне сервера.
© 1993, 2025, 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.