所有类


javax.management.remote
类 JMXConnectorServer

java.lang.Object
  继承者 javax.management.NotificationBroadcasterSupport
      继承者 javax.management.remote.JMXConnectorServer
所有已实现的接口:
MBeanRegistration, NotificationBroadcaster, NotificationEmitter, JMXConnectorServerMBean
直接已知子类:
RMIConnectorServer

public abstract class JMXConnectorServer
   
   
   
   
   
extends NotificationBroadcasterSupport
implements JMXConnectorServerMBean, MBeanRegistration

每个连接器服务器的超类。连接器服务器连接到 MBean 服务器。它侦听客户端连接请求并为每个请求创建连接。

连接器服务器或者通过在该 MBean 服务器上注册该连接器服务器,或者通过将 MBean 服务器传给其构造方法来与 MBean 服务器关联。

连接器服务器在创建时为非活动的。只有在调用了 start 方法后,它才开始侦听客户端连接。当调用了 stop 方法,或者将连接器服务器从其 MBean 服务器注销后,连接器服务器停止侦听客户端连接。

停止连接器服务器并不会将它从其 MBean 服务器注销。连接器服务器一旦停止就无法重新启动。

客户端连接每次建立或断开都将发出一个类 JMXConnectionNotification 的通知。

从以下版本开始:
1.5

字段摘要
static StringAUTHENTICATOR
          为连接器服务器指定经验证的属性名称。
 
构造方法摘要
JMXConnectorServer()
          构造一个将注册为连接到 MBean 服务器的 MBean 的连接器服务器。
JMXConnectorServer(MBeanServer mbeanServer)
          构造一个连接到给定 MBean 服务器的连接器服务器。
 
方法摘要
protected  voidconnectionClosed(String connectionId, String message, Object userData)
          正常关闭客户端连接时由子类调用。
protected  voidconnectionFailed(String connectionId, String message, Object userData)
          客户端连接失败时由子类调用。
protected  voidconnectionOpened(String connectionId, String message, Object userData)
          打开新的客户端连接时由子类调用。
 String[]getConnectionIds()
          当前打开的到此连接器服务器的连接 ID 列表。
 MBeanServergetMBeanServer()
          返回该连接器服务器连接到的 MBean 服务器。
 MBeanNotificationInfo[]getNotificationInfo()
          返回一个指示由该 MBean 发送的通知的数组。
 voidpostDeregister()
          允许 MBean 在已从 MBean 服务器注销之后执行所需要的任何操作。
 voidpostRegister(Boolean registrationDone)
          允许 MBean 在被注册到 MBean 服务器或注销失败后执行任何所需要的操作。
 voidpreDeregister()
          当此连接器服务器从 MBean 服务器上注销时,由该 MBean 服务器调用此方法。
 ObjectNamepreRegister(MBeanServer mbs, ObjectName name)
          当此连接器服务器在 MBean 服务器上注册时,由该 MBean 服务器调用此方法。
 voidsetMBeanServerForwarder(MBeanServerForwarder mbsf)
          添加一个截取对 MBean 服务器请求的对象,该请求是通过此连接器服务器到达的。
 JMXConnectortoJMXConnector(Map<String,?> env)
          返回此连接器服务器的客户端 stub。
 
从类 javax.management.NotificationBroadcasterSupport 继承的方法
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
从接口 javax.management.remote.JMXConnectorServerMBean 继承的方法
getAddress, getAttributes, isActive, start, stop
 

字段详细信息

AUTHENTICATOR

public static final String AUTHENTICATOR

为连接器服务器指定经验证的属性名称。此属性关联的值(如果有)必须是一个实现 JMXAuthenticator 接口的对象。

另请参见:
常量字段值
构造方法详细信息

JMXConnectorServer

public JMXConnectorServer()

构造一个将注册为连接到 MBean 服务器的 MBean 的连接器服务器。此构造方法通常由 createMBean 方法之一在创建(在 MBean 服务器内)实现远程可用的连接器服务器时调用。


JMXConnectorServer

public JMXConnectorServer(MBeanServer mbeanServer)

构造一个连接到给定 MBean 服务器的连接器服务器。使用这样的方法创建的连接器服务器可注册到一个不同的 MBean 服务器上。

参数:
mbeanServer - 该连接器服务器连接到的 MBean 服务器。如果该连接器服务器将通过注册的方式连接到 MBean 服务器,则为 Null。
方法详细信息

getMBeanServer

public MBeanServer getMBeanServer()

返回该连接器服务器连接到的 MBean 服务器。

返回:
该连接器服务器连接到的 MBean 服务器,或者如果尚未连接到 MBean 服务器,则返回 null。

setMBeanServerForwarder

public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
从接口 JMXConnectorServerMBean 复制的描述

添加一个截取对 MBean 服务器请求的对象,该请求是通过此连接器服务器到达的。此对象将作为任何由此连接器服务器创建的新连接的 MBeanServer 提供。现有连接不受影响。

如果此连接器服务器已与一个 MBeanServer 对象关联,则将该对象提供给 mbsf.setMBeanServer。如果这样做生成异常,则该方法抛出相同的异常,没有任何其他作用。

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

指定者:
接口 JMXConnectorServerMBean 中的 setMBeanServerForwarder
参数:
mbsf - 新的 MBeanServerForwarder

getConnectionIds

public String[] getConnectionIds()
从接口 JMXConnectorServerMBean 复制的描述

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

指定者:
接口 JMXConnectorServerMBean 中的 getConnectionIds
返回:
包含 ID 列表的新字符串数组。如果当前没有打开的连接,则此数组将为空。

toJMXConnector

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

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

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

此方法的默认实现使用 JMXConnectorServerMBean.getAddress()JMXConnectorFactory 生成 stub,其代码等效于:

 JMXServiceURL addr = getAddress();
 return JMXConnectorFactory.newJMXConnector(addr, env);
 

此代码不适用的连接器服务器必须重写此方法,这样或者实现适当的逻辑,或者抛出 UnsupportedOperationException

指定者:
接口 JMXConnectorServerMBean 中的 toJMXConnector
参数:
env - 客户端连接参数,与提供给 JMXConnector.connect(Map) 的参数具有相同的类型。可以为 null,它等效于一个空映射。
返回:
可用于建立到此连接器服务器的新连接的客户端 stub。
抛出:
UnsupportedOperationException - 如果此连接器服务器不支持生成客户端 stub。
IllegalStateException - 如果 JMXConnectorServer 未启动(请参阅 JMXConnectorServerMBean.isActive())。
IOException - 如果存在通信问题而导致无法创建 stub。

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()

返回一个指示由该 MBean 发送的通知的数组。JMXConnectorServer 中的实现返回带一个元素的数组,这指示它可以发出在此类中定义的类型的类 JMXConnectionNotification 的通知。能够发出其他通知的子类应返回一个包含该元素和对其他通知的描述的数组。

指定者:
接口 NotificationBroadcaster 中的 getNotificationInfo
覆盖:
NotificationBroadcasterSupport 中的 getNotificationInfo
返回:
可能的通知的数组。

connectionOpened

protected void connectionOpened(String connectionId,
                                String message,
                                Object userData)

打开新的客户端连接时由子类调用。将由 getConnectionIds() 返回的 connectionId 添加到列表中,然后发出一个类型为 JMXConnectionNotification.OPENEDJMXConnectionNotification

参数:
connectionId - 新连接的 ID。它必须与任何由此连接器服务器先前打开的连接的 ID 不一样。
message - 发出的 JMXConnectionNotification 的消息。可以为 null。请参阅 Notification.getMessage()
userData - 发出的 JMXConnectionNotificationuserData。可以为 null。请参阅 Notification.getUserData()
抛出:
NullPointerException - 如果 connectionId 为 null。