Module java.management

Interface JMXConnectorServerMBean

所有已知的实现类:
JMXConnectorServer, RMIConnectorServer

public interface JMXConnectorServerMBean

连接器服务器的MBean接口。JMX API连接器服务器附加到一个MBean服务器,并为远程客户端建立与该MBean服务器的连接。

新创建的连接器服务器是非活动的,并且尚未监听连接。只有在调用其start方法后,它才开始监听连接。

自:
1.5
  • Method Details

    • start

      void start() throws IOException

      激活连接器服务器,即开始监听客户端连接。当连接器服务器已经处于活动状态时调用此方法不会产生任何效果。当连接器服务器已停止时调用此方法将生成一个IOException

      抛出:
      IOException - 如果无法开始监听或连接器服务器已停止。
      IllegalStateException - 如果连接器服务器尚未附加到MBean服务器。
    • stop

      void stop() throws IOException

      停用连接器服务器,即停止监听客户端连接。调用此方法还将关闭此服务器创建的所有客户端连接。此方法返回后,无论是正常返回还是异常返回,连接器服务器都不会创建任何新的客户端连接。

      一旦连接器服务器已停止,就无法再次启动。

      当连接器服务器已经停止时调用此方法不会产生任何效果。当连接器服务器尚未启动时调用此方法将永久禁用连接器服务器对象。

      如果关闭客户端连接产生异常,则此方法不会抛出异常。从此方法发出具有连接无法关闭的连接的连接ID的JMXConnectionNotification,其类型为JMXConnectionNotification.FAILED

      关闭连接器服务器是一个潜在缓慢的操作。例如,如果具有打开连接的客户端机器崩溃,关闭操作可能需要等待网络协议超时。不希望在关闭操作中阻塞的调用者应该在单独的线程中执行。

      抛出:
      IOException - 如果无法清除服务器。当抛出此异常时,服务器已尝试关闭所有客户端连接。所有客户端连接都已关闭,除非在服务器尝试关闭它们时生成异常。
    • isActive

      boolean isActive()

      确定连接器服务器是否活动。当连接器服务器的start方法成功返回时,连接器服务器开始活动,并保持活动状态,直到调用其stop方法或连接器服务器失败。

      返回:
      如果连接器服务器活动,则为true。
    • setMBeanServerForwarder

      void setMBeanServerForwarder(MBeanServerForwarder mbsf)

      插入一个拦截通过这个连接器服务器到达MBean服务器请求的对象。此对象将作为任何由此连接器服务器创建的新连接的MBeanServer提供。现有连接不受影响。

      此方法可以多次调用,使用不同的MBeanServerForwarder对象。结果是一个转发链。最后添加的转发器是链中的第一个。更详细地说:

      • 如果此连接器服务器已经关联到一个MBeanServer对象,则将该对象提供给mbsf.setMBeanServer。如果这样做会产生异常,则此方法将抛出相同的异常,没有其他效果。

      • 如果此连接器尚未关联到MBeanServer对象,或者刚刚提到的mbsf.setMBeanServer调用成功,则mbsf将成为此连接器服务器的MBeanServer

      参数:
      mbsf - 新的MBeanServerForwarder
      抛出:
      IllegalArgumentException - 如果调用mbsf.setMBeanServer失败并且包括mbsf为null的情况。
    • getConnectionIds

      String[] getConnectionIds()

      当前打开连接到这个连接器服务器的连接的ID列表。

      返回:
      包含ID列表的新字符串数组。如果当前没有打开的连接,则此数组将为空。
    • getAddress

      JMXServiceURL getAddress()

      这个连接器服务器的地址。

      返回的地址可能不是创建连接器服务器时提供的确切原始JMXServiceURL,因为原始地址可能并非始终完整。例如,当启动连接器服务器时,端口号可能会动态分配。相反,返回的地址是JMXConnectorServer的实际JMXServiceURL。这是客户端提供给JMXConnectorFactory.connect(JMXServiceURL)的地址。

      请注意,如果JMXConnectorServer尚未active,则返回的地址可能为null

      返回:
      这个连接器服务器的地址,如果没有则为null。
    • getAttributes

      Map<String,?> getAttributes()

      这个连接器服务器的属性。

      返回:
      包含此连接器服务器属性的只读映射。值不可序列化的属性将从此映射中省略。如果没有可序列化属性,则返回的映射为空。
    • toJMXConnector

      JMXConnector toJMXConnector(Map<String,?> env) throws IOException

      返回此连接器服务器的客户端存根。客户端存根是一个可序列化对象,其connect方法可用于与此连接器服务器建立一个新连接。

      给定的连接器不一定支持生成客户端存根。但是,JMX远程API指定的连接器支持(JMXMP连接器和RMI连接器)。

      参数:
      env - 与JMXConnector.connect(Map)提供的相同类型的客户端连接参数。可以为null,相当于空映射。
      返回:
      一个客户端存根,可用于与此连接器服务器建立新连接。
      抛出:
      UnsupportedOperationException - 如果此连接器服务器不支持生成客户端存根。
      IllegalStateException - 如果JMXConnectorServer未启动(参见isActive())。
      IOException - 如果通信问题导致无法创建存根。