Класс JMXServiceURL
- Все реализуемые интерфейсы:
Serializable
public class JMXServiceURL extends Object implements Serializable
Адрес сервера-коннектора API JMX. Экземпляры этого класса неизменяемы.
Адрес представляет собой абстрактный URL службы для SLP, определённый в RFC 2609 с поправками RFC 3111. Он должен выглядеть следующим образом:
service:jmx:protocol:sap Здесь protocol — транспортный протокол, используемый для подключения к серверу-коннектору. Это строка из одного или нескольких символов ASCII, каждый из которых является буквой, цифрой или одним из символов + или -. Первый символ должен быть буквой. Прописные буквы преобразуются в строчные.
sap — адрес, по которому находится сервер-коннектор. Этот адрес использует подмножество синтаксиса, определённого RFC 2609 для протоколов на основе IP. Это подмножество, поскольку синтаксис user@host не поддерживается.
Другие синтаксические конструкции, определённые RFC 2609, в настоящее время этим классом не поддерживаются.
Поддерживается следующий синтаксис:
//[host[:port]][url-path] Квадратные скобки [] указывают на необязательные части адреса. Не все протоколы распознают все необязательные части.
host — это имя узла, числовой адрес узла IPv4 или числовой адрес IPv6, заключённый в квадратные скобки.
port — десятичный номер порта. Значение 0 означает порт по умолчанию или анонимный порт — в зависимости от протокола.
host и port можно опустить. port нельзя указать без host.
url-path, если он указан, начинается с косой черты (/) или точки с запятой (;) и продолжается до конца адреса. Он может содержать атрибуты с использованием синтаксиса с точкой с запятой, заданного в RFC 2609. Этот класс не анализирует такие атрибуты и не обнаруживает ошибки в их синтаксисе.
Хотя согласно RFC 2609 допустимо, чтобы url-path начинался с точки с запятой, не все реализации SLP это позволяют, поэтому рекомендуется избегать такого синтаксиса.
Регистр символов не имеет значения в начальной строке service:jmx:protocol и в части адреса, содержащей имя узла. В зависимости от протокола регистр символов может иметь значение в url-path.
- С момента выпуска:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JMXServiceURL |
Создаёт JMXServiceURL, анализируя строку URL службы. |
JMXServiceURL |
Создаёт JMXServiceURL с заданными протоколом, узлом и портом. |
JMXServiceURL |
Создаёт JMXServiceURL из заданных частей. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
String |
getHost() |
Часть URL службы, содержащая имя узла. |
int |
getPort() |
Порт URL службы. |
String |
getProtocol() |
Часть URL службы, содержащая протокол. |
String |
getURLPath() |
Часть пути URL службы. |
String |
toString() |
Строковое представление этого URL службы. |
Подробное описание конструкторов
JMXServiceURL
public JMXServiceURL(String serviceURL) throws MalformedURLException
Создаёт JMXServiceURL, анализируя строку URL службы.
- Параметры:
-
serviceURL— строка URL для анализа. - Исключения:
-
NullPointerException— еслиserviceURLравно null. -
MalformedURLException— еслиserviceURLне соответствует синтаксису абстрактного URL службы или не является допустимым именем службы удалённого API JMX.JMXServiceURLдолжен начинаться со строки"service:jmx:"(без учёта регистра). Он не должен содержать символов, не являющихся печатными символами ASCII.
JMXServiceURL
public JMXServiceURL(String protocol, String host, int port) throws MalformedURLException
Создаёт JMXServiceURL с заданными протоколом, узлом и портом. Этот конструктор эквивалентен JMXServiceURL(protocol, host, port, null).
- Параметры:
-
protocol— часть URL, содержащая протокол. Если значение равно null, по умолчанию используетсяjmxmp. -
host— часть URL, содержащая имя узла. Если имя узла равно null и локальное имя узла можно преобразовать в IP-адрес, по умолчанию используется локальное имя узла, определённое методомInetAddress.getLocalHost().getHostName(). Если имя узла равно null и локальное имя узла нельзя преобразовать в IP-адрес, по умолчанию используется числовой IP-адрес одного из активных сетевых интерфейсов. Если имя узла представляет собой числовой адрес IPv6, его можно заключить в квадратные скобки[]. -
port— часть URL, содержащая порт. - Исключения:
-
MalformedURLException— если одна из частей имеет синтаксически неверный формат, или еслиhostравно null и локальное имя узла невозможно определить, или еслиportотрицательно.
JMXServiceURL
public JMXServiceURL(String protocol, String host, int port, String urlPath) throws MalformedURLException
Создаёт JMXServiceURL из заданных частей.
- Параметры:
-
protocol— часть URL, содержащая протокол. Если значение равно null, по умолчанию используетсяjmxmp. -
host— часть URL, содержащая имя узла. Если имя узла равно null и локальное имя узла можно преобразовать в IP-адрес, по умолчанию используется локальное имя узла, определённое методомInetAddress.getLocalHost().getHostName(). Если имя узла равно null и локальное имя узла нельзя преобразовать в IP-адрес, по умолчанию используется числовой IP-адрес одного из активных сетевых интерфейсов. Если имя узла представляет собой числовой адрес IPv6, его можно заключить в квадратные скобки[]. -
port— часть URL, содержащая порт. -
urlPath— часть URL, содержащая путь. Если значение равно null, по умолчанию используется пустая строка. - Исключения:
-
MalformedURLException— если одна из частей имеет синтаксически неверный формат, или еслиhostравно null и локальное имя узла невозможно определить, или еслиportотрицательно.
Подробное описание методов
getProtocol
public String getProtocol()
Часть URL службы, содержащая протокол.
- Возвращает:
- часть URL службы, содержащую протокол. Значение никогда не равно null.
getHost
public String getHost()
Часть URL службы, содержащая имя узла. Если URL службы был создан конструктором, принимающим строку URL, результатом является подстрока этого URL, задающая имя узла. Если URL службы был создан конструктором, принимающим отдельный параметр имени узла, результатом является указанная строка. Если эта строка была равна null, результатом будет InetAddress.getLocalHost().getHostName(), если локальное имя узла можно преобразовать в IP-адрес. В противном случае используется числовой IP-адрес активного сетевого интерфейса.
В любом случае, если имя узла задано с использованием синтаксиса [...] для числовых адресов IPv6, квадратные скобки не включаются в возвращаемое здесь значение.
- Возвращает:
- часть URL службы, содержащую имя узла. Значение никогда не равно null.
getPort
public int getPort()
Порт URL службы. Если порт не был указан, возвращается значение 0.
- Возвращает:
- порт URL службы или 0, если порт не указан.
getURLPath
public String getURLPath()
Часть пути URL службы. Это пустая строка, строка, начинающаяся с косой черты (/), или строка, начинающаяся с точки с запятой (;).
- Возвращает:
- часть пути URL службы. Значение никогда не равно null.
toString
public String toString()
Строковое представление этого URL службы. Если передать значение, возвращённое этим методом, конструктору JMXServiceURL, результирующий объект будет равен этому объекту.
Часть host возвращённой строки содержит значение, возвращённое методом getHost(). Если это значение задаёт числовой адрес IPv6, оно заключается в квадратные скобки [].
Часть port возвращённой строки содержит значение, возвращённое методом getPort(), в кратчайшей десятичной форме. Если значение равно нулю, эта часть опускается.
equals
public boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту. Этот метод возвращает true тогда и только тогда, когда obj является экземпляром JMXServiceURL, методы getProtocol(), getHost(), getPort() и getURLPath() которого возвращают те же значения, что и для этого объекта. Значения, возвращаемые методами getProtocol() и getHost(), могут различаться регистром символов, не влияя на равенство.
© 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/JMXServiceURL.html