- java.lang.Object
-
- javax.management.remote.JMXServiceURL
-
- All Implemented Interfaces:
-
Serializable
public class JMXServiceURL extends Object implements Serializable
JMX API连接器服务器的地址。 这个类的实例是不可变的。
该地址是SLP的抽象服务URL ,如RFC 2609中定义并由RFC 3111修改。它必须如下所示:
service:jmx:protocol:sap
这里,
protocol
是用于连接到连接器服务器的传输协议。 它是一个或多个ASCII字符的字符串,每个ASCII字符都是字母,数字或字符+
或-
。 第一个字符必须是一个字母。 大写字母转换为小写字母。sap
是找到连接器服务器的地址。 该地址使用RFC 2609为基于IP的协议定义的语法的子集。 它是一个子集,因为不支持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 描述 JMXServiceURL(String serviceURL)
通过解析服务URL字符串构造一个JMXServiceURL
。JMXServiceURL(String protocol, String host, int port)
使用给定的协议,主机和端口构造一个JMXServiceURL
。JMXServiceURL(String protocol, String host, int port, String urlPath)
构造一个JMXServiceURL
与给定的部分。
-
-
-
构造方法详细信息
-
JMXServiceURL
public JMXServiceURL(String serviceURL) throws MalformedURLException
通过解析服务URL字符串构造
JMXServiceURL
。- 参数
-
serviceURL
- 要解析的URL字符串。 - 异常
-
NullPointerException
- 如果serviceURL
为空。 -
MalformedURLException
- 如果serviceURL
不符合抽象服务URL的语法,或者它不是JMX Remote API服务的有效名称。 AJMXServiceURL
必须以字符串"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
- 网址的主机部分。 如果主机为空,并且如果本地主机名可以解析为IP,则主机默认为本地主机名,由InetAddress.getLocalHost().getHostName()
确定。 如果主机为空,并且如果本地主机名无法解析为IP,则主机默认为其中一个活动网络接口的数字IP地址。 如果主机是数字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
- 网址的主机部分。 如果主机为空,并且如果本地主机名可以解析为IP,则主机默认为本地主机名,由InetAddress.getLocalHost().getHostName()
确定。 如果主机为空,并且如果本地主机名无法解析为IP,则主机默认为其中一个活动网络接口的数字IP地址。 如果主机是数字IPv6地址,则可以选择括在方括号[]
。 -
port
- URL的端口部分。 -
urlPath
- URL的URL路径部分。 如果为空,则默认为空字符串。 - 异常
-
MalformedURLException
- 如果其中一个部分在语法上不正确,或者如果host
为空,并且不可能找到本地主机名,或者如果port
为负数。
-
-
方法详细信息
-
getProtocol
public String getProtocol()
服务网址的协议部分。
- 结果
- 服务网址的协议部分。 这从来不为空。
-
getHost
public String getHost()
服务网址的主机部分。 如果使用构造函数构造服务URL,该构造函数使用URL字符串参数,那么结果是指定该URL中的主机的子字符串。 如果使用构造函数构造服务URL,该构造函数采用单独的主机参数,则结果是指定的字符串。 如果该字符串为空,则如果本地主机名可以解析为IP,则结果为
InetAddress.getLocalHost().getHostName()
。 将使用活动网络接口的其他数字IP地址。在任一情况下,如果使用数字IPv6地址的
[...]
语法指定了主机,则此处的返回值中不包括方括号。- 结果
- 服务网址的主机部分。 这从来不为空。
-
getPort
public int getPort()
服务网址的端口。 如果没有指定端口,返回值为0。
- 结果
- 服务URL的端口,如果没有,则为0。
-
getURLPath
public String getURLPath()
服务网址的URL路径部分。 这是一个空字符串或以斜杠(
/
)开头的字符串,或以分号(;
)开头的字符串。- 结果
- 服务网址的URL路径部分。 这从来不为空。
-
toString
public String toString()
-
equals
public boolean equals(Object obj)
指示一些其他对象是否等于此。 当且仅当此方法返回true
obj
是一个实例JMXServiceURL
,其getProtocol()
,getHost()
,getPort()
,并getURLPath()
种方法返回相同的值作为该对象。getProtocol()
和getHost()
的值在不影响相等性的情况下可能有所不同。- 重写:
-
equals
在Object
- 参数
-
obj
- 与之比较的参考对象。 - 结果
-
true
如果此对象与obj
参数相同; 否则为false
。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
描述从类别复制Object
返回对象的哈希码值。 支持这种方法是为了哈希表的利益,如HashMap
提供的。hashCode
的总合同是:- 无论何时在执行Java应用程序时多次在同一对象上调用该对象,则
hashCode
方法必须始终返回相同的整数,前提是修改了对象中equals
比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。 - 如果根据
equals(Object)
方法两个对象相等,则在两个对象中的每个对象上调用hashCode
方法必须产生相同的整数结果。 - 不要求如果两个对象根据
Object.equals(java.lang.Object)
方法不相等,那么在两个对象中的每个对象上调用hashCode
方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。
尽可能多的合理实用,由类
Object
定义的hashCode方法确实为不同对象返回不同的整数。 (在某个时间点,hashCode可能或可能不被实现为对象的存储器地址的某些功能。)- 重写:
-
hashCode
在Object
- 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
- 无论何时在执行Java应用程序时多次在同一对象上调用该对象,则
-
-