类 JMXServiceURL

java.lang.Object
javax.management.remote.JMXServiceURL
所有已实现的接口:
Serializable

public class JMXServiceURL extends Object implements Serializable

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

该地址是 SLP 的 Abstract Service 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 字符串或地址的主机部分中大小写不重要。根据协议,url-path 中的大小写可能很重要。

自从:
1.5
参见:
  • 构造方法详细信息

    • JMXServiceURL

      public JMXServiceURL(String  serviceURL) throws MalformedURLException

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

      参数:
      serviceURL - 要解析的 URL 字符串。
      抛出:
      NullPointerException - 如果 serviceURL 为空。
      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 的主机部分。如果 host 为 null 并且本地主机名可以解析为 IP,则 host 默认为由 InetAddress.getLocalHost().getHostName() 确定的本地主机名。如果主机为空且本地主机名无法解析为 IP,则主机默认为活动网络接口之一的数字 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,则 host 默认为由 InetAddress.getLocalHost().getHostName() 确定的本地主机名。如果主机为空且本地主机名无法解析为 IP,则主机默认为活动网络接口之一的数字 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 是使用带有单独主机参数的构造函数构造的,则结果是指定的字符串。如果该字符串为空,则如果本地主机名可以解析为 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 的字符串表示形式。
    • equals

      public boolean equals(Object  obj)

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

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