Package javax.management.remote
用于远程访问JMX MBean服务器的接口。此包定义了使JMX MBean服务器可以远程管理的基本接口。此功能的规范由第 III 部分的 JMX规范,版本1.4完成。
JMX规范定义了连接器的概念。连接器连接到JMX API MBean服务器,并使其可以被远程Java客户端访问。连接器的客户端端口基本上导出与MBean服务器相同的接口,特别是MBeanServerConnection
接口。
连接器通过给定的协议使MBean服务器可以远程访问。JMX远程API允许使用不同类型的连接器:
- JMX远程API定义了一个标准连接器,即RMI连接器,通过RMI提供对MBeanServer的远程访问。
- JMX远程API还定义了一个可选的连接器,称为JMXMP连接器,实现了JMX消息协议(JMXMP)。由于它是可选的,因此不是此捆绑包的一部分(请参见下面的注释)。
- 还可以使用
JMXConnectorFactory
和(可选)通用连接器来定义用户定义的连接器协议(不是此捆绑包的一部分,请参见下面的注释)。
注:实现JMX远程API的可选部分的可选包不包含在Java SE平台中,但可以从JMX远程API参考实现中获取。
连接器地址
通常,连接器服务器具有一个地址,由类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远程API定义的标准键都以字符串"jmx.remote.
"开头。文档JMX远程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
是客户端连接的主机的Internet地址,以数字或DNS形式表示。 数字IPv6地址用方括号[]
括起来。 HostPort
是客户端连接的十进制端口号。
ClientId
是客户端实体的标识,通常是由JMXPrincipal.getName()
返回的字符串。此字符串不得包含空格。
ArbitraryText
是连接器服务器在创建客户端ID时添加的任意文本。至少,它必须足以将此连接ID与当前由此连接器服务器打开的任何其他连接的ID区分开。
- 自版本:
- 1.5
- 参见:
-
ClassDescription实现了可以具有
JMXServiceURL
地址的对象。定义了如何将远程凭据转换为JAAS Subject的接口。当客户端连接打开或关闭或通知丢失时发出的通知。JMX API连接器的客户端端口。用于创建JMX API连接器客户端的工厂。使用给定协议创建JMX API连接器客户端的提供程序。每个连接器服务器的超类。用于创建JMX API连接器服务器的工厂。连接器服务器的MBean接口。使用给定协议创建JMX API连接器服务器的提供程序。JMX远程API的远程客户端的标识。当所需协议的提供程序存在但由于某种原因无法使用时,由JMXConnectorFactory
和JMXConnectorServerFactory
抛出的异常。在远程MBean服务器中处理调用时抛出Error
时作为结果的异常。JMX API连接器服务器的地址。此类的对象实现了MBeanServer接口,并包装另一个也实现该接口的对象。缓冲通知查询的结果。要求身份验证标识执行代表授权标识的操作的权限。(通知,监听器ID)对。