Module  java.management

Package javax.management.remote

用于远程访问JMX MBean服务器的接口。 该包定义了使JMX MBean服务器可远程管理的基本界面。 该功能的规范由JMX Specification, version 1.4 PDF文档的第III部分完成。

JMX规范定义了连接器的概念。 连接器连接到JMX API MBean服务器,并使其可以访问远程Java客户端。 连接器的客户端导出与MBean服务器基本相同的界面,特别是MBeanServerConnection接口。

连接器使得MBean服务器可以通过给定的协议远程访问。 JMX Remote API允许使用不同类型的连接器:

  • JMX Remote API定义了一个标准连接器RMI Connector ,它通过RMI提供对MBeanServer的远程访问。
  • JMX Remote API还定义了一个名为JMXMP Connector的可选连接器,实现了JMX消息协议(JMXMP)。 由于它是可选的,它不属于此捆绑包(见下面的注释)。
  • 用户定义的连接器协议也可以使用JMXConnectorFactory和可选的通用连接器(不包括此捆绑包的一部分,请参见下面的注释)。

注意 :实现JMX Remote API可选部分的可选软件包不包括在Java SE平台中,但可从JMX Remote API Reference Implementation获得

连接器地址

通常,连接器服务器具有由类别JMXServiceURL表示的地址。 RMI连接器的地址可能如下所示:

  service:jmx:rmi:///jndi/rmi://myhost:1099/myname 

在这个JMXServiceURL ,第一个rmi:指定了RMI连接器,而第二个rmi:指定了RMI连接器服务器已存储其存根的RMI注册表。

上面的例子只显示一种形式的地址。 RMI连接器的地址可以采用多种形式,详见javax.management.remote.rmi的文档。

创建连接器服务器

连接器服务器是通过构造JMXConnectorServer子类的实例创建的。 通常,此实例是使用方法JMXConnectorServerFactory.newJMXConnectorServer创建的。

通常,连接器服务器通过在MBean服务器中注册或通过在创建连接器服务器时提供MBean服务器作为参数与MBean服务器相关联。

创建连接器客户端

连接器客户端通常通过提供JMXServiceURL的连接器服务器连接到JMXConnectorFactory.connect方法来创建

对于更专门的用途,可以通过直接实例化实现JMXConnector接口的类来创建连接器客户端,例如RMIConnector类。

其他客户端或服务器参数

创建连接器客户端或服务器时,可以提供定义附加参数的类型为Map的对象。 此Map中的每个条目都有一个键,它是一个字符串和一个相关联的值,其类型适用于该键。 由JMX Remote API定义的标准键都以字符串“ jmx.remote. ”开头。 文档JMX Remote API列出了这些标准密钥。

连接标识符

连接器服务器打开的每个连接都有一个字符串标识符,称为连接ID 该标识符出现在由连接器服务器发出的JMXConnectionNotification事件中,在getConnectionIds()返回的列表中,以及客户端的getConnectionId()方法返回的值。

例如,连接ID可以如下所示:

  rmi://192.18.1.9 username 1 

遵循此约定的连接ID的正式语法如下(使用Java语言规范第2.4节中的语法符号):

  ConnectionId:
    Protocol : ClientAddressopt Space ClientIdopt Space ArbitraryText

ClientAddress:
    // HostAddress ClientPortopt

ClientPort
    : HostPort 

Protocol是一个将被JMXConnectorFactory识别的协议

ClientAddress是连接客户端的地址和端口,如果可以确定,否则没有。 HostAddress是客户端以数字或DNS形式连接的主机的Internet地址。 数字IPv6地址括在方括号[] HostPort是客户端连接的十进制端口号。

ClientId是客户端实体的标识,通常是由JMXPrincipal.getName()返回的字符串。 此字符串不能包含空格。

ArbitraryText是创建客户端ID时连接器服务器添加的任何其他文本。 至少必须将此连接ID与此连接器服务器当前打开的任何其他连接的ID区分开来。

从以下版本开始:
1.5
另请参见:
Java Platform documentation on JMX technology, in particular the JMX Specification, version 1.4