请参见:
描述
接口摘要 | |
---|---|
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 | 当提供者存在所需的协议但由于某种原因不能使用时由 JMXConnectorFactory 和 JMXConnectorServerFactory 抛出的异常。 |
JMXServerErrorException | 在处理远程 MBean 服务器中的调用的过程中抛出了 Error 时,远程 MBeanServer 方法调用导致抛出的异常。 |
对 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 中区分出来。