Интерфейс JMXConnectorServerMBean
- Все известные реализующие классы:
-
JMXConnectorServer,RMIConnectorServer
public interface JMXConnectorServerMBean
Интерфейс MBean для серверов соединений. Сервер соединений JMX API прикреплён к серверу MBean и устанавливает соединения с этим сервером MBean для удалённых клиентов.
Недавно созданный сервер соединений неактивен и ещё не прослушивает соединения. Только после вызова метода start он начинает прослушивать соединения.
- С момента:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
JMXServiceURL |
getAddress() |
Адрес данного сервера соединений. |
Map |
getAttributes() |
Атрибуты данного сервера соединений. |
String[] |
getConnectionIds() |
Список идентификаторов текущих открытых соединений с данным сервером соединений. |
boolean |
isActive() |
Определяет, активен ли сервер соединений. |
void |
setMBeanServerForwarder |
Вставляет объект, который перехватывает запросы к серверу MBean, поступающие через этот сервер соединений. |
void |
start() |
Активирует сервер соединений, то есть начинает прослушивать подключения клиентов. |
void |
stop() |
Деактивирует сервер соединений, то есть прекращает прослушивание подключений клиентов. |
JMXConnector |
toJMXConnector |
Возвращает заглушку клиента для данного сервера соединений. |
Подробное описание методов
start
void start() throws IOException
Активирует сервер соединений, то есть начинает прослушивать подключения клиентов. Вызов этого метода, когда сервер соединений уже активен, не оказывает никакого влияния. Вызов этого метода, когда сервер соединений был остановлен, сгенерирует IOException.
- Исключение:
-
IOException- если невозможно начать прослушивание или сервер соединений был остановлен. -
IllegalStateException- если сервер соединений не был прикреплен к серверу MBean.
stop
void stop() throws IOException
Деактивирует сервер соединений, то есть прекращает прослушивание подключений клиентов. Вызов этого метода также закроет все подключения клиентов, установленные этим сервером. После возвращения этого метода, будь то нормально или с исключением, сервер соединений не будет создавать новых подключений клиентов.
После остановки сервера соединений его нельзя запустить снова.
Вызов этого метода, когда сервер соединений уже остановлен, не оказывает никакого влияния. Вызов этого метода, когда сервер соединений ещё не запущен, постоянно отключит объект сервера соединений.
Если закрытие подключения клиента приводит к исключению, это исключение не выбрасывается из этого метода. JMXConnectionNotification с типом JMXConnectionNotification.FAILED испускается из этого MBean с идентификатором подключения, которое не удалось закрыть.
Закрытие сервера соединений — потенциально медленная операция. Например, если машина клиента с открытым соединением зависла, операция закрытия может ожидать таймаута сетевого протокола. Вызывающие стороны, которые не хотят блокироваться при закрытии, должны выполнять его в отдельном потоке.
- Исключение:
-
IOException- если сервер не может быть закрыт корректно. При возникновении этого исключения сервер уже попытался закрыть все подключения клиентов. Все подключения клиентов закрыты, за исключением, возможно, тех, которые сгенерировали исключения при попытке сервера их закрыть.
isActive
boolean isActive()
Определяет, активен ли сервер соединений. Сервер соединений становится активным, когда его метод start возвращается успешно и остаётся активным до тех пор, пока либо не будет вызван его метод stop, либо сервер соединений не потерпит неудачу.
- Возвращает:
- true, если сервер соединений активен.
setMBeanServerForwarder
void setMBeanServerForwarder(MBeanServerForwarder mbsf)
Вставляет объект, который перехватывает запросы к серверу MBean, поступающие через этот сервер соединений. Этот объект будет предоставлен как MBeanServer для любого нового соединения, созданного этим сервером соединений. Существующие соединения не затрагиваются.
Этот метод может вызываться более одного раза с разными объектами MBeanServerForwarder. Результатом является цепочка перенаправляющих объектов. Последний добавленный перенаправляющий объект находится в начале цепочки. Более подробно:
-
Если этот сервер соединений уже связан с объектом
MBeanServer, то этот объект передаётся вmbsf.setMBeanServer. Если при этом возникнет исключение, этот метод сгенерирует то же исключение без каких-либо других последствий. -
Если этот соединитель ещё не связан с объектом
MBeanServer, или если только что упомянутый вызовmbsf.setMBeanServerбыл успешным, тоmbsfстановитсяMBeanServerэтого сервера соединений.
- Параметры:
-
mbsf- новыйMBeanServerForwarder. - Исключение:
-
IllegalArgumentException- если вызовmbsf.setMBeanServerзавершается неудачей сIllegalArgumentException. Это включает случай, когдаmbsfравно null.
getConnectionIds
String[] getConnectionIds()
Список идентификаторов текущих открытых соединений с данным сервером соединений.
- Возвращает:
- новый массив строк, содержащий список идентификаторов. Если текущих открытых соединений нет, этот массив будет пустым.
getAddress
JMXServiceURL getAddress()
Адрес данного сервера соединений.
Возвращаемый адрес может не совпадать с исходным JMXServiceURL, предоставленным при создании сервера соединений, так как исходный адрес может не всегда быть полным. Например, номер порта может быть динамически выделен при запуске сервера соединений. Вместо этого возвращаемый адрес является фактическим JMXServiceURL JMXConnectorServer. Это тот адрес, который клиенты предоставляют методу JMXConnectorFactory.connect(JMXServiceURL).
Обратите внимание, что возвращаемый адрес может быть null, если JMXConnectorServer ещё не active.
- Возвращает:
- адрес этого сервера соединений или null, если его нет.
getAttributes
Map<String,?> getAttributes()
Атрибуты данного сервера соединений.
- Возвращает:
- только для чтения карту, содержащую атрибуты этого сервера соединений. Атрибуты, значения которых не являются сериализуемыми, исключаются из этой карты. Если нет сериализуемых атрибутов, возвращаемая карта пустая.
toJMXConnector
JMXConnector toJMXConnector(Map<String,?> env) throws IOException
Возвращает заглушку клиента для этого сервера соединений. Заглушка клиента — это сериализуемый объект, метод connect которого может использоваться для создания нового подключения к этому серверу соединений.
Данный соединитель может не поддерживать генерацию заглушек клиентов. Однако соединители, указанные в JMX Remote API (JMXMP Connector и RMI Connector), поддерживают.
- Параметры:
-
env- параметры подключения клиента того же типа, что и те, которые могут быть предоставлены методуJMXConnector.connect(Map). Может быть null, что эквивалентно пустой карте. - Возвращает:
- заглушку клиента, которая может быть использована для создания нового подключения к этому серверу соединений.
- Исключение:
-
UnsupportedOperationException- если этот сервер соединений не поддерживает генерацию заглушек клиентов. -
IllegalStateException- если JMXConnectorServer не запущен (см.isActive()). -
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/remote/JMXConnectorServerMBean.html