模块  java.management

Interface JMXConnectorServerMBean

  • 所有已知实现类:
    JMXConnectorServerRMIConnectorServer

    public interface JMXConnectorServerMBean

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

    新创建的连接器服务器处于非活动状态 ,尚未侦听连接。 只有当它的start方法被调用时才会开始侦听连接。

    从以下版本开始:
    1.5
    • 方法详细信息

      • start

        void start()
            throws IOException

        激活连接器服务器,即开始侦听客户端连接。 连接器服务器已处于活动状态时调用此方法无效。 在连接器服务器停止时调用此方法将生成IOException

        异常
        IOException - 如果无法开始侦听或连接器服务器已停止。
        IllegalStateException - 如果连接器服务器尚未连接到MBean服务器。
      • stop

        void stop()
           throws IOException

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

        连接器服务器停止后,无法再次启动。

        连接器服务器已停止时调用此方法无效。 在尚未启动连接器服务器时调用此方法将永久禁用连接器服务器对象。

        如果关闭客户端连接会产生异常,则不会从此方法抛出该异常。 JMXConnectionNotification类型JMXConnectionNotification.FAILED从此MBean与无法关闭的连接的连接ID射出。

        关闭连接器服务器可能会很慢。 例如,如果具有打开连接的客户端计算机已崩溃,则关闭操作可能必须等待网络协议超时。 不希望在关闭操作中阻塞的调用者应该在单独的线程中执行。

        异常
        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的调用失败, IllegalArgumentException 这包括mbsf为空的情况。
      • getConnectionIds

        String[] getConnectionIds()

        当前打开的此连接器服务器连接的ID列表。

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

        JMXServiceURL getAddress()

        此连接器服务器的地址。

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

        请注意,如果JMXConnectorServernull则返回的地址可能是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 - 如果通信问题意味着无法创建存根。