Module java.management

Class JMXServiceURL

java.lang.Object
javax.management.remote.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可以省略。不能在没有host的情况下提供port

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

尽管根据RFC 2609,url-path可以以分号开头,但并非所有SLP实现都允许,因此建议避免该语法。

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

自版本:
1.5
参见:
  • Constructor Details

    • JMXServiceURL

      public JMXServiceURL(String serviceURL) throws MalformedURLException

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

      参数:
      serviceURL - 要解析的URL字符串。
      抛出:
      NullPointerException - 如果serviceURL为null。
      MalformedURLException - 如果serviceURL不符合抽象服务URL的语法,或者不是JMX远程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的主机部分。如果主机为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的URL路径部分。如果为null,默认为空字符串。
      抛出:
      MalformedURLException - 如果其中一个部分的语法不正确,或者如果host为null且无法找到本地主机名,或者port为负数。
  • Method Details

    • 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路径部分。这是一个空字符串,或以斜杠(/)开头的字符串,或以分号(;)开头的字符串。

      返回:
      服务URL的URL路径部分。这永远不会是null。
    • toString

      public String toString()

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

      返回的字符串的host部分是由getHost()返回的值。如果该值指定了数字IPv6地址,则将其括在方括号[]中。

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

      覆盖:
      toString 在类 Object
      返回:
      此服务URL的字符串表示形式。
    • equals

      public boolean equals(Object obj)

      指示某个其他对象是否等于此对象。如果objJMXServiceURL的实例,并且其getProtocol()getHost()getPort()getURLPath()方法返回与此对象相同的值,则此方法返回true。 getProtocol()getHost()的值可以在不影响相等性的情况下有所不同。

      覆盖:
      equals 在类 Object
      参数:
      obj - 要比较的参考对象。
      返回:
      如果此对象与obj参数相同,则返回true;否则返回false
      参见: