Module  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方法被调用或连接器服务器发生故障。

        结果
        新新新旗新新新新旗新新旗新新旗新新旗新新旗旗新新新旗新新旗新新旗新新200新新旗新新200新新200
      • 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)的地址。

        需要注意的是返回的地址可能是null如果JMXConnectorServer尚未active

        结果
        该连接器服务器的地址,如果没有,则为null。
      • getAttributes

        Map<String,?> getAttributes​()

        此连接器服务器的属性。

        结果
        包含此连接器服务器的属性的只读映射。 其值不可序列化的属性从该地图中省略。 如果没有可序列化的属性,返回的地图是空的。
      • toJMXConnector

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

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

        给定的连接器不需要支持生成客户端存根。 但是,由JMX Remote API指定的连接器(JMXMP Connector和RMI Connector)。

        参数
        env - 可以提供给JMXConnector.connect(Map)的相同排序的客户端连接参数。 可以为空,这相当于一个空的地图。
        结果
        客户端存根可用于与此连接器服务器建立新连接。
        异常
        UnsupportedOperationException - 如果此连接器服务器不支持生成客户端存根。
        IllegalStateException - 如果JMXConnectorServer未启动(请参阅 isActive() )。
        IOException - 如果通信问题意味着无法创建存根。