模块  java.management

Package javax.management.remote

用于远程访问JMX MBean服务器的接口。 该软件包定义了使JMX MBean服务器可远程管理的基本接口。 该功能的规范由JMX Specification, version 1.4的第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 Platform中,但可从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服务器作为参数提供来与MBean服务器相关联。

创建连接器客户端

一种连接器,客户机通常是通过提供所创建的JMXServiceURL连接器服务器的连接到至JMXConnectorFactory.connect方法。

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

其他客户端或服务器参数

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

连接标识符

连接器服务器打开的每个连接都有一个字符串标识符,称为其连接标识 此标识符出现在连接器服务器发出的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 

ProtocolProtocol可识别的协议

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

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

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

从以下版本开始:
1.5
另请参见:
JMX Specification, version 1.4