-
- 所有已知实现类:
-
JMXConnectorServer
,RMIConnectorServer
public interface JMXConnectorServerMBean
连接器服务器的MBean接口。 JMX API连接器服务器连接到MBean服务器,并为远程客户端建立与该MBean服务器的连接。
新创建的连接器服务器处于非活动状态 ,尚未侦听连接。 只有当它的
start
方法被调用时才会开始侦听连接。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 JMXServiceURL
getAddress()
此连接器服务器的地址。Map<String,?>
getAttributes()
此连接器服务器的属性。String[]
getConnectionIds()
当前打开的此连接器服务器连接的ID列表。boolean
isActive()
确定连接器服务器是否处于活动状态。void
setMBeanServerForwarder(MBeanServerForwarder mbsf)
插入一个对象,该对象拦截通过此连接器服务器到达的MBean服务器的请求。void
start()
激活连接器服务器,即开始侦听客户端连接。void
stop()
停用连接器服务器,即停止侦听客户端连接。JMXConnector
toJMXConnector(Map<String,?> env)
返回此连接器服务器的客户端存根。
-
-
-
方法详细信息
-
start
void start() throws IOException
激活连接器服务器,即开始侦听客户端连接。 连接器服务器已处于活动状态时调用此方法无效。 在连接器服务器停止时调用此方法将生成
IOException
。- 异常
-
IOException
- 如果无法开始侦听或连接器服务器已停止。 -
IllegalStateException
- 如果连接器服务器尚未连接到MBean服务器。
-
stop
void stop() throws IOException
停用连接器服务器,即停止侦听客户端连接。 调用此方法还将关闭此服务器所做的所有客户端连接。 在此方法返回后,无论是正常还是异常,连接器服务器都不会创建任何新的客户端连接。
连接器服务器停止后,无法再次启动。
连接器服务器已停止时调用此方法无效。 在尚未启动连接器服务器时调用此方法将永久禁用连接器服务器对象。
如果关闭客户端连接会产生异常,则不会从此方法抛出该异常。 甲
JMXConnectionNotification
类型JMXConnectionNotification.FAILED
从此MBean与无法关闭的连接的连接ID射出。关闭连接器服务器可能会很慢。 例如,如果具有打开连接的客户端计算机已崩溃,则关闭操作可能必须等待网络协议超时。 不希望在关闭操作中阻塞的调用者应该在单独的线程中执行。
- 异常
-
IOException
- 如果服务器无法干净地关闭。 抛出此异常时,服务器已尝试关闭所有客户端连接。 所有客户端连接都将关闭,但可能是那些在服务器尝试关闭它们时生成异常的连接。
-
isActive
boolean isActive()
- 结果
- 连接器服务器处于活动状态时为true。
-
setMBeanServerForwarder
void setMBeanServerForwarder(MBeanServerForwarder mbsf)
插入一个对象,该对象拦截通过此连接器服务器到达的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()
此连接器服务器的地址。
返回的地址可能不是创建连接器服务器时提供的确切原始
JMXServiceURL
,因为原始地址可能并不总是完整。 例如,可以在启动连接器服务器时动态分配端口号。 而是返回的地址是JMXConnectorServer
的实际JMXServiceURL
。 这是客户提供给JMXConnectorFactory.connect(JMXServiceURL)
的地址。请注意,如果
JMXConnectorServer
是null
则返回的地址可能是null 。- 结果
- 此连接器服务器的地址,如果没有连接器服务器,则返回null。
-
getAttributes
Map<String,?> getAttributes()
此连接器服务器的属性。
- 结果
- 包含此连接器服务器属性的只读映射。 此映射中省略了值不可序列化的属性。 如果没有可序列化属性,则返回的映射为空。
-
toJMXConnector
JMXConnector toJMXConnector(Map<String,?> env) throws IOException
返回此连接器服务器的客户端存根。 客户端存根是一个可序列化的对象,其
connect
方法可用于与此连接器服务器建立一个新连接。给定的连接器不需要支持客户端存根的生成。 但是,JMX Remote API指定的连接器(JMXMP连接器和RMI连接器)。
- 参数
-
env
- 可提供给JMXConnector.connect(Map)
的相同类型的客户端连接参数。 可以为null,相当于空映射。 - 结果
- 客户端存根,可用于与此连接器服务器建立新连接。
- 异常
-
UnsupportedOperationException
- 如果此连接器服务器不支持生成客户端存根。 -
IllegalStateException
- 如果未启动JMXConnectorServer(请参阅isActive()
)。 -
IOException
- 如果通信问题意味着无法创建存根。
-
-