Интерфейс 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
Деактивирует сервер соединителей, то есть прекращает принимать клиентские соединения. Вызов этого метода также закроет все клиентские соединения, установленные этим сервером. После возврата этого метода — штатного или с исключением — сервер соединителей не будет создавать новые клиентские соединения.
После остановки сервер соединителей нельзя запустить снова.
Вызов этого метода, когда сервер соединителей уже остановлен, не имеет эффекта. Вызов этого метода до запуска сервера соединителей навсегда отключит объект сервера соединителей.
Если при закрытии клиентского соединения возникает исключение, оно не выбрасывается этим методом. Этот MBean отправляет уведомление JMXConnectionNotification типа JMXConnectionNotification.FAILED с идентификатором соединения, которое не удалось закрыть.
Закрытие сервера соединителей может занять много времени. Например, если компьютер клиента с открытым соединением вышел из строя, операции закрытия может потребоваться ожидать истечения тайм-аута сетевого протокола. Вызывающим сторонам, которые не хотят блокироваться во время закрытия, следует выполнять эту операцию в отдельном потоке.
- Вызывает:
-
IOException— если сервер не удаётся корректно закрыть. При возникновении этого исключения сервер уже попытался закрыть все клиентские соединения. Все клиентские соединения закрыты, за исключением тех, при закрытии которых сервером возникли исключения.
isActive
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 и соединитель RMI).
- Параметры:
-
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://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/remote/JMXConnectorServerMBean.html