包 javax.management.remote
用于远程访问 JMX MBean 服务的接口。该包定义了使 JMX MBean 服务可远程管理的基本接口。此功能的规范由 JMX 规范,版本 1.4 的第 III 部分完成
JMX 规范定义了以下概念连接器.连接器连接到 JMX API MBean 服务,并使其可供远程 Java 客户端访问。连接器的客户端导出与 MBean 服务基本相同的接口,特别是 MBeanServerConnection
接口。
连接器使 MBean 服务可以通过给定的协议进行远程访问。 JMX Remote API 允许使用不同类型的连接器:
- JMX Remote API 定义了一个标准的连接器,RMI连接器,它通过 RMI 提供对 MBeanServer 的远程访问。
- JMX Remote API 还定义了一个可选的连接器,称为JMXMP 连接器实现 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 服务作为参数提供。
创建连接器客户端
连接器客户端通常是通过提供连接器服务的 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 的正式语法如下(使用 The Java Language Specification 的第 2.4 节中的语法符号):
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
- 参见:
-
类描述由可以具有
JMXServiceURL
地址的对象实现。用于定义如何将远程凭证转换为 JAAS 主题的接口。当客户端连接打开或关闭或通知丢失时发出通知。JMX API 连接器的客户端。用于创建 JMX API 连接器客户端的工厂。使用给定协议创建 JMX API 连接器客户端的提供程序。每个连接器服务的超类。创建 JMX API 连接器服务的工厂。连接器服务的 MBean 接口。使用给定协议创建 JMX API 连接器服务的提供程序。JMX 远程 API 的远程客户端的身份。当所需协议存在提供程序但由于某种原因无法使用时,JMXConnectorFactory
和JMXConnectorServerFactory
抛出异常。当在远程 MBean 服务中处理调用时抛出Error
时,作为远程MBeanServer
方法调用的结果抛出异常。JMX API 连接器服务的地址。此类的一个对象实现了 MBeanServer 接口并包装了另一个也实现了该接口的对象。缓冲通知的查询结果。认证身份代表授权身份执行操作所需的权限。一对(通知,监听 ID)。