public class JMXServiceURL extends Object implements Serializable
一个JMX API接口服务器的地址。这个类的实例是不可变的。
地址是SLP的抽象服务的URL,定义在RFC 2609和RFC 3111修改。它必须看起来像这样:
service:jmx:protocol:sap
在这里,protocol
是传输协议是用于连接到服务器的连接。它是一个字符串的一个或多个ASCII字符,这是每一个字母,一个数字,或者一个人物+
或-
。第一个字符必须是一个字母。大写字母转换成小写字母。
sap
是地址在连接服务器发现。这个地址用基于IP协议的RFC 2609定义的语法的一个子集。这是一个集因为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
是重要的。
Constructor and Description |
---|
JMXServiceURL(String serviceURL)
通过解析服务URL字符串构造一个
JMXServiceURL 。
|
JMXServiceURL(String protocol, String host, int port)
构建了一个
JMXServiceURL 与给定的协议,主机和端口。
|
JMXServiceURL(String protocol, String host, int port, String urlPath)
构建一个与给定的零件
JMXServiceURL 。
|
public JMXServiceURL(String serviceURL) throws MalformedURLException
通过解析服务URL字符串构造一个JMXServiceURL
。
serviceURL
- URL字符串进行解析。
NullPointerException
-如果
serviceURL
是空的。
MalformedURLException
-如果
serviceURL
不符合一个抽象服务的URL或者一个JMX远程API服务,它不是一个有效的名称的语法。一个
JMXServiceURL
必须从字符串
"service:jmx:"
(不区分大小写)。它必须不包含任何字符是不可打印的ASCII字符。
public JMXServiceURL(String protocol, String host, int port) throws MalformedURLException
构建了一个JMXServiceURL
与给定的协议,主机和端口。此构造函数相当于JMXServiceURL(protocol, host, port, null)
。
protocol
- URL的协议部分。如果为空,默认为
jmxmp
。
host
-主机URL的一部分。如果为空,默认为本地主机名,由
InetAddress.getLocalHost().getHostName()
。如果它是一个数字的IPv6地址,它也可以用在方括号
[]
。
port
- URL的端口部分。
MalformedURLException
-如果其中一个部件在语法上是不正确的,或者如果
host
是无效的,这是不可能找到本地主机名,或者如果
port
是负的。
public JMXServiceURL(String protocol, String host, int port, String urlPath) throws MalformedURLException
构建一个与给定的零件JMXServiceURL
。
protocol
- URL的协议部分。如果为空,默认为
jmxmp
。
host
-主机URL的一部分。如果为空,默认为本地主机名,由
InetAddress.getLocalHost().getHostName()
。如果它是一个数字的IPv6地址,它也可以用在方括号
[]
。
port
- URL的端口部分。
urlPath
- URL的URL路径的一部分。如果为空,默认为空字符串。
MalformedURLException
-如果其中一个部件在语法上是不正确的,或者如果
host
是无效的,这是不可能找到本地主机名,或者如果
port
是负的。
public String getProtocol()
服务网址的协议部分。
public String getHost()
服务网址的主机部分。如果服务的URL是以URL字符串参数的构造函数构造,其结果是串在URL中指定的主机。如果服务的网址是用一个带有一个单独的主机参数的构造函数构造的,则结果是指定的字符串。如果字符串为空,其结果是InetAddress.getLocalHost().getHostName()
。
在任何情况下,如果主机使用[...]
语法指定数字的IPv6地址,括号内是不包括在这里的返回值。
public int getPort()
服务网址的端口。如果没有指定端口,返回的值为0。
public String getURLPath()
服务网址的网址路径部分。这是一个空字符串,或一个字符串开头(/
),或一个字符串开始用分号(;
)。
public String toString()
public boolean equals(Object obj)
指示是否有其他对象等于这一个。此方法返回true,如果obj
是JMXServiceURL
的getProtocol()
,getHost()
,getPort()
实例,并getURLPath()
方法返回相同的值作为此对象。对于getProtocol()
和getHost()
值可以不同的情况下,不影响平等。
equals
方法重写,继承类
Object
obj
-参考对象的比较。
true
如果这个对象是作为
obj
参数相同;
false
否则。
Object.hashCode()
,
HashMap
public int hashCode()
Object
HashMap
利益支持。
对hashCode
一般合同:
hashCode
方法总是返回相同的整数,没有提供信息用于对对象的修改equals
比较。这个整数不需要保持一致,从一个应用程序的一个执行到另一个执行相同的应用程序。equals(Object)
法两个对象是相等的,那么调用hashCode
方法每一个对象必须产生相同的整数结果。Object.equals(java.lang.Object)
法两个对象是不平等的,然后调用hashCode
方法每一个对象必须产生不同的整数结果。然而,程序员应该意识到,产生不同的整数结果的不平等的对象可能会提高哈希表的性能。尽合理的切实可行,由类Object
定义hashCode方法返回不同的对象不同的整数。(这通常是通过将该对象的内部地址转换成一个整数,但这不是实现实现技术的™java编程语言。要求)
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.