模块  java.management

Class JMXServiceURL

  • 实现的所有接口
    Serializable

    public class JMXServiceURL
    extends Object
    implements Serializable

    JMX API连接器服务器的地址。 此类的实例是不可变的。

    该地址是SLP的抽象服务URL ,如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表示默认或匿名端口,具体取决于协议。

    可以省略hostport 如果没有port则无法提供host

    url-path (如果有)以斜杠( / )或分号( ;;并继续到地址的末尾。 它可以使用RFC 2609中指定的分号语法包含属性。这些属性不会被此类解析,也不会检测到错误的属性语法。

    虽然根据RFC 2609,以分号开头的url-path是合法的,但并非所有SLP实现都允许,因此建议避免使用该语法。

    在初始的service:jmx:protocol字符串或地址的主机部分中, service:jmx:protocol 根据协议,案例在url-path可能很重要。

    从以下版本开始:
    1.5
    另请参见:
    RFC 2609, "Service Templates and Service: Schemes"RFC 3111, "Service Location Protocol Modifications for IPv6"Serialized Form
    • 构造方法详细信息

      • JMXServiceURL

        public JMXServiceURL​(String serviceURL)
                      throws MalformedURLException

        通过解析服务URL字符串构造JMXServiceURL

        参数
        serviceURL - 要解析的URL字符串。
        异常
        NullPointerException - 如果 serviceURL为空。
        MalformedURLException - 如果serviceURL不符合抽象服务URL的语法,或者它不是JMX Remote API服务的有效名称。 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的主机部分。 如果host为null并且本地主机名可以解析为IP,则主机默认为本地主机名,由InetAddress.getLocalHost().getHostName()确定。 如果host为null并且无法将本地主机名解析为IP,则host默认为其中一个活动网络接口的数字IP地址。 如果host是数字IPv6地址,则可以选择将其括在方括号[]
        port - URL的端口部分。
        异常
        MalformedURLException - 如果其中一个部分在语法上不正确,或者如果 host为空并且无法找到本地主机名,或者 port为负数。
      • JMXServiceURL

        public JMXServiceURL​(String protocol,
                             String host,
                             int port,
                             String urlPath)
                      throws MalformedURLException

        用给定的部分构造一个JMXServiceURL

        参数
        protocol - URL的协议部分。 如果为null,则默认为jmxmp
        host - URL的主机部分。 如果host为null并且本地主机名可以解析为IP,则主机默认为本地主机名,由InetAddress.getLocalHost().getHostName()确定。 如果host为null并且无法将本地主机名解析为IP,则host默认为其中一个活动网络接口的数字IP地址。 如果host是数字IPv6地址,则可以选择将其括在方括号[]
        port - URL的端口部分。
        urlPath - URL的URL路径部分。 如果为null,则默认为空字符串。
        异常
        MalformedURLException - 如果其中一个部分在语法上不正确,或者如果 host为空且无法找到本地主机名,或者 port为负数。
    • 方法详细信息

      • getProtocol

        public String getProtocol()

        服务URL的协议部分。

        结果
        服务URL的协议部分。 这永远不会为空。
      • getHost

        public String getHost()

        服务URL的主机部分。 如果使用带有URL字符串参数的构造函数构造服务URL,则结果是指定该URL中的主机的子字符串。 如果服务URL是使用带有单独主机参数的构造函数构造的,则结果是指定的字符串。 如果该字符串为null,则如果可以将本地主机名解析为IP,则结果为InetAddress.getLocalHost().getHostName() 否则将使用活动网络接口的其他数字IP地址。

        在任何一种情况下,如果使用数字IPv6地址的[...]语法指定主机,则此处的返回值中不包括方括号。

        结果
        服务URL的主机部分。 这永远不会为空。
      • getPort

        public int getPort()

        服务URL的端口。 如果未指定端口,则返回值为0。

        结果
        服务URL的端口,如果没有,则为0。
      • getURLPath

        public String getURLPath()

        服务URL的URL路径部分。 这是一个空字符串,或以斜杠开头的字符串( / ),或以分号开头的字符串( ; )。

        结果
        服务URL的URL路径部分。 这永远不会为空。
      • toString

        public String toString()

        此服务URL的字符串表示形式。 如果此方法返回的值提供给JMXServiceURL构造函数,则生成的对象等于此对象。

        host返回的字符串的一部分返回的值getHost() 如果该值指定数字IPv6地址,则它用方括号[]包围。

        返回字符串的port部分是getPort()以其最短十进制形式返回的值。 如果该值为零,则省略。

        重写:
        toString在类 Object
        结果
        此服务URL的字符串表示形式。