Интерфейс JMXConnectorServerMBean
- Все известные реализующие классы:
-
JMXConnectorServer,RMIConnectorServer
public interface JMXConnectorServerMBean
Интерфейс MBean для серверов соединений. Сервер соединений API JMX прикреплен к серверу MBean и устанавливает соединения с этим сервером MBean для удаленных клиентов.
Недавно созданный сервер соединений неактивен и еще не прослушивает подключения. Лишь после вызова метода start он начинает прослушивать подключения.
- С:
- 1.5
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
JMXServiceURL | getAddress() | Адрес этого сервера соединений. |
Map<String,?> | getAttributes() | Атрибуты этого сервера соединений. |
String[] | getConnectionIds() | Список идентификаторов текущих открытых соединений с этим сервером соединений. |
boolean | isActive() | Определяет, активен ли сервер соединений. |
void | setMBeanServerForwarder(MBeanServerForwarder mbsf) | Вставляет объект, который перехватывает запросы на сервер MBean, поступающие через этот сервер соединений. |
void | start() | Активирует сервер соединений, то есть начинает прослушивать подключения клиентов. |
void | stop() | Деактивирует сервер соединений, то есть прекращает прослушивание подключений клиентов. |
JMXConnector | toJMXConnector(Map<String,?> env) | Возвращает клиентский заглушку для этого сервера соединений. |
Методы
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 которого может использоваться для создания одного нового подключения к этому серверу соединений.
Данный сервер соединений может и не поддерживать генерацию клиентских заглушек. Однако серверы соединений, определенные API JMX Remote (JMXMP Connector и RMI Connector), поддерживают.
- Параметры:
-
env- параметры подключения клиента аналогичного типа, которые могут быть предоставлены методуJMXConnector.connect(Map). Может быть null, что эквивалентно пустой карте. - Возвращает:
- клиентская заглушка, которая может использоваться для создания нового подключения к этому серверу соединений.
- Исключения:
-
UnsupportedOperationException- если этот сервер соединений не поддерживает генерацию клиентских заглушек. -
IllegalStateException- если JMXConnectorServer не запущен (см.isActive()). -
IOException- если проблема с коммуникацией означает, что заглушка не может быть создана.
© 1993, 2020, 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/11/docs/api/java.management/javax/management/remote/JMXConnectorServerMBean.html