- 所有已知的实现类:
JMXConnectorServer
,RMIConnectorServer
连接器服务的 MBean 接口。 JMX API 连接器服务附加到 MBean 服务,并为远程客户端建立到该 MBean 服务的连接。
新创建的连接器服务是 inactive ,并且尚未监听连接。只有当它的 start
方法被调用时,它才会开始监听连接。
- 自从:
- 1.5
-
方法详情
-
start
激活连接器服务,即开始监听客户端连接。在连接器服务已处于活动状态时调用此方法无效。在连接器服务停止时调用此方法将生成一个
IOException
。- 抛出:
IOException
- 如果无法开始监听或连接器服务已停止。IllegalStateException
- 如果连接器服务尚未连接到 MBean 服务。
-
stop
停用连接器服务,即停止监听客户端连接。调用此方法还将关闭此服务建立的所有客户端连接。此方法返回后,无论是正常还是异常,连接器服务都不会创建任何新的客户端连接。
连接器服务一旦停止,就无法再次启动。
在连接器服务已停止时调用此方法无效。在连接器服务尚未启动时调用此方法将永久禁用连接器服务对象。
如果关闭客户端连接产生异常,则该方法不会抛出该异常。从此 MBean 发出类型为
JMXConnectionNotification.FAILED
的JMXConnectionNotification
,其连接 ID 为无法关闭的连接。关闭连接器服务是一个可能很慢的操作。例如,如果打开连接的客户端机器崩溃了,关闭操作可能必须等待网络协议超时。不想阻塞关闭操作的调用者应该在单独的线程中执行。
- 抛出:
IOException
- 如果服务无法完全关闭。抛出此异常时,服务已尝试关闭所有客户端连接。所有客户端连接都已关闭,除了那些在服务试图关闭它们时可能生成异常的连接。
-
isActive
boolean isActive()- 返回:
- 如果连接器服务处于活动状态,则为真。
-
setMBeanServerForwarder
插入一个对象,该对象拦截通过此连接器服务到达的对 MBean 服务的请求。对于由此连接器服务创建的任何新连接,此对象将作为
MBeanServer
提供。现有连接不受影响。可以使用不同的
MBeanServerForwarder
对象多次调用此方法。结果是一个转发器链。最后添加的转发器是链中的第一个。更详细地:如果此连接器服务已与
MBeanServer
对象相关联,则该对象将提供给mbsf.setMBeanServer
。如果这样做会产生异常,则此方法会抛出相同的异常而不会产生任何其他影响。如果此连接器尚未与
MBeanServer
对象相关联,或者如果刚才提到的mbsf.setMBeanServer
调用成功,则mbsf
成为此连接器服务的MBeanServer
。
- 参数:
mbsf
- 新的MBeanServerForwarder
。- 抛出:
IllegalArgumentException
- 如果对mbsf.setMBeanServer
的调用因IllegalArgumentException
而失败。这包括mbsf
为空的情况。
-
getConnectionIds
String [] getConnectionIds()当前打开的与此连接器服务的连接的 ID 列表。
- 返回:
- 包含 ID 列表的新字符串数组。如果当前没有打开的连接,则此数组将为空。
-
getAddress
JMXServiceURL getAddress()此连接器服务的地址。
返回的地址可能与创建连接器服务时提供的原始地址不完全相同,因为原始地址可能并不总是完整的。例如,端口号可以在启动连接器服务时动态分配。相反,返回的地址是
JMXConnectorServer
的实际JMXServiceURL
。这是客户端提供给JMXConnectorFactory.connect(JMXServiceURL)
的地址。请注意,如果
JMXConnectorServer
还不是active
,则返回的地址可能是null
。- 返回:
- 此连接器服务的地址,如果没有,则为 null。
-
getAttributes
此连接器服务的属性。
- 返回:
- 包含此连接器服务属性的只读映射。此map中省略了其值不可序列化的属性。如果没有可序列化的属性,则返回的映射为空。
-
toJMXConnector
返回此连接器服务的客户端存根。客户端存根是一个可序列化的对象,其
connect
方法可用于与此连接器服务建立新连接。给定的连接器不需要支持客户端存根的生成。但是,JMX Remote API 指定的连接器(JMXMP 连接器和 RMI 连接器)可以。
- 参数:
env
- 可以提供给JMXConnector.connect(Map)
的同类客户端连接参数。可以为null,相当于一个空map。- 返回:
- 可用于与此连接器服务建立新连接的客户端存根。
- 抛出:
UnsupportedOperationException
- 如果此连接器服务不支持生成客户端存根。IllegalStateException
- 如果 JMXConnectorServer 未启动(请参阅isActive()
)。IOException
- 如果通信问题意味着无法创建存根。
-