JavaTM 2 Platform
Standard Ed. 6

javax.management.remote
類別 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
另請參見:
RFC 2609, "Service Templates and Service: Schemes", RFC 3111, "Service Location Protocol Modifications for IPv6", 序列化表格

建構子摘要
JMXServiceURL(String serviceURL)
          通過解析 Service URL 字元串來建構 JMXServiceURL
JMXServiceURL(String protocol, String host, int port)
          建構具有給定協議、主機和埠號的 JMXServiceURL
JMXServiceURL(String protocol, String host, int port, String urlPath)
          建構具有給定部分的 JMXServiceURL
 
方法摘要
 boolean equals(Object obj)
          指示是否有其他的物件等於此物件。
 String getHost()
          Service URL 的主機部分。
 int getPort()
          Service URL 的埠號部分。
 String getProtocol()
          Service URL 的協議部分。
 String getURLPath()
          Service URL 的 URL Path 部分。
 int hashCode()
          返回該物件的雜湊碼值。
 String toString()
          此 Service URL 的字元串表示形式。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

JMXServiceURL

public JMXServiceURL(String serviceURL)
              throws MalformedURLException

通過解析 Service URL 字元串來建構 JMXServiceURL

參數:
serviceURL - 要解析的 URL 字元串。
拋出:
NullPointerException - 如果 serviceURL 為 null。
MalformedURLException - 如果 serviceURL 不符合 Abstract Service 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 的主機部分。如果為 null,則預設為本地主機名,它由 InetAddress.getLocalHost().getHostName() 確定。如果它為一個數值 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,則預設為本地主機名,它由 InetAddress.getLocalHost().getHostName() 確定。如果它為一個數值 IPv6 位址,可選擇將其括在方括號 [] 中。
port - URL 的埠號部分。
urlPath - URL 的 URL Path 部分。如果為 null,則預設為空字元串。
拋出:
MalformedURLException - 如果某一部分在語法上不正確,或者如果 host 為 null 並且無法找到本地主機名,或者如果 port 為負。
方法詳細資訊

getProtocol

public String getProtocol()

Service URL 的協議部分。

返回:
Service URL 的協議部分。它從不為 null。

getHost

public String getHost()

Service URL 的主機部分。如果 Service URL 是用帶一個 URL 字元串參數的建構子所建構的,則結果為該 URL 中指定主機的子字元串。如果此 Service URL 是用帶一個獨立主機參數的建構子所建構的,則結果為所指定的字元串。如果該字元串為 null,則結果為 InetAddress.getLocalHost().getHostName()

無論是哪種情況,如果主機是使用數值 IPv6 位址的 [...] 語法指定的,則此處的返回值不包括方括號。

返回:
Service URL 的主機部分。它從不為 null。

getPort

public int getPort()

Service URL 的埠號部分。如果未指定任何埠號,則返回值為 0。

返回:
Service URL 的埠號,如果沒有,則返回 0。

getURLPath

public String getURLPath()

Service URL 的 URL Path 部分。這是一個空字元串,或以斜槓 (/) 開頭的字元串,或以分號 (;) 開頭的字元串。

返回:
Service URL 的 URL Path 部分。它從不為 null。

toString

public String toString()

此 Service URL 的字元串表示形式。如果把此方法的返回值提供給 JMXServiceURL 建構子,則結果物件等於此值。

返回字元串的 host 部分是由 getHost() 返回的值。如果該值指定了一個數值 IPv6 位址,則它用方括號 [] 括起。

返回字元串的 port 部分是由 getPort() 返回的值,以最短的十進制形式表示。如果該值為零,則忽略該值。

覆寫:
類別 Object 中的 toString
返回:
此 Service URL 的字元串表示形式。

equals

public boolean equals(Object obj)

指示是否有其他的物件等於此物件。當且僅當 objJMXServiceURL 的一個實例,後者的 getProtocol()getHost()getPort()getURLPath() 方法均返回與此物件相等的值時,此方法才返回 true。getProtocol()getHost() 的值的大小寫可能不同,但不影響二者的相等性。

覆寫:
類別 Object 中的 equals
參數:
obj - 要與之比較的參考物件。
返回:
如果此物件與 obj 參數相同,則返回 true;否則返回 false
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
從類別 Object 複製的描述
返回該物件的雜湊碼值。支持此方法是為了提高雜湊表(例如 java.util.Hashtable 提供的雜湊表)的性能。

hashCode 的常規協定是:

實際上,由 Object 類別定義的 hashCode 方法確實會針對不同的物件返回不同的整數。(這一般是通過將該物件的內部位址轉換成一個整數來實作的,但是 JavaTM 程式語言不需要這種實作技巧。)

覆寫:
類別 Object 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only