javax.management.remote

接口
异常
对 JMX MBean 服务器进行远程访问使用的接口。

请参见:
          描述

接口摘要
JMXAddressable 由可能具有 JMXServiceURL 地址的对象实现。
JMXAuthenticator 定义如何将远程凭据转换为 JAAS Subject(主题)的接口。
JMXConnector JMX API 连接器的客户端。
JMXConnectorProvider 使用给定的协议创建 JMX API 连接器客户端的提供者。
JMXConnectorServerMBean 供连接器服务器使用的 MBean 接口。
JMXConnectorServerProvider 使用给定的协议创建 JMX API 连接器服务器的提供者。
MBeanServerForwarder 此类的对象实现 MBeanServer 接口并包装另一个也实现此接口的对象。
 

类摘要
JMXConnectionNotification 在客户端连接打开或关闭时,或者当通知丢失时发出的通知。
JMXConnectorFactory 用于创建 JMX API 连接器客户端的工厂。
JMXConnectorServer 每个连接器服务器的超类。
JMXConnectorServerFactory 用于创建 JMX API 连接器服务器的工厂。
JMXPrincipal JMX Remote API 的远程客户端的身份。
JMXServiceURL JMX API 连接器服务器的地址。
NotificationResult 缓存的通知的查询结果。
SubjectDelegationPermission 授权标识表示验证标识执行操作所需的权限。
TargetedNotification 一个 (Notification, Listener ID) 对。
 

异常摘要
JMXProviderException 当提供者存在所需的协议但由于某种原因不能使用时由 JMXConnectorFactoryJMXConnectorServerFactory 抛出的异常。
JMXServerErrorException 在处理远程 MBean 服务器中的调用的过程中抛出了 Error 时,远程 MBeanServer 方法调用导致抛出的异常。
 

软件包 javax.management.remote 的描述

对 JMX MBean 服务器进行远程访问使用的接口。此包定义了使 JMX MBean 服务器可远程管理的重要接口。此功能性的完整规范,可参考 JMX Specification, version 1.4 PDF 文档的 Part III。

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

连接器通过给定的协议实现了 MBean 服务器的远程访问。
JMX Remote API 定义了标准的连接器 RMI Connector,它通过 RMI 提供了对 MBeanServer 的远程访问。
JMX Remote API 还定义了一个可选协议,名为 JMXMP(JMX 消息传递协议)。JMXMP 基于 TCP 连接上的序列化 Java 对象(在可选包 javax.management.remote.message 中定义)。实现此协议的连接器称为 JMXMP Connector。也可以使用 JMXConnectorFactory 提供的用户定义的连接器协议和可选的通用连接器 (javax.management.remote.generic)。

连接器地址

通常连接器都有一个地址,它由类 JMXServiceURL 表示。JMXMP 连接器的地址如下所示:

      service:jmx:jmxmp://myhost:9876
      

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 事件中、JMXConnectorServerMBean#getConnectionIds() 返回的列表中以及由客户端的 getConnectionId() 方法返回的值中。

按照惯例,连接 ID 如下所示:

jmxmp://clienthost:6789 clientname xxxyyyzzz
      

遵守此惯例的连接 ID 的正规语法如下(使用《The Java Language Specification, Second Edition》中的 grammar notation):

ConnectionId:
    Protocol : ClientAddressopt Space ClientIdopt Space ArbitraryText

ClientAddress:
// HostAddress ClientPortopt

ClientPort
    : HostPort
      

Protocol 是一个可由 JMXConnectorFactory 识别的协议。

ClientAddress 是连接的客户端的地址和端口(如果可确定),否则什么也不是。HostAddress 是客户端从其连接的主机的 Internet 地址,可以为数值或 DNS 形式。数值 IPv6 地址括在方括号 [] 中。HostPort 为客户端从其连接的十进制端口号。

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

ArbitraryText 是连接器服务器创建客户端 ID 时添加的其他文本。它至少应能够将此连接 ID 从此连接服务器上当前打开的任何其他连接的 ID 中区分出来。

从以下版本开始:
1.5
另请参见:
Java SE 6 Platform documentation on JMX technology, 特别是 JMX Specification, version 1.4