Интерфейс 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, 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/javax/management/remote/JMXConnectorServerMBean.html