- java.lang.Object
-
- javax.management.NotificationBroadcasterSupport
-
- javax.management.remote.JMXConnectorServer
-
- 实现的所有接口
-
MBeanRegistration
,NotificationBroadcaster
,NotificationEmitter
,JMXAddressable
,JMXConnectorServerMBean
- 已知直接子类:
-
RMIConnectorServer
public abstract class JMXConnectorServerextends NotificationBroadcasterSupportimplements JMXConnectorServerMBean, MBeanRegistration, JMXAddressable
每个连接器服务器的超类。 连接器服务器连接到MBean服务器。 它侦听客户端连接请求并为每个请求创建连接。
连接器服务器通过在MBean服务器中注册MBean服务器或将MBean服务器传递给其构造函数与MBean服务器相关联。
连接器服务器在创建时处于非活动状 它只在调用
start
方法时才开始侦听客户端连接。 当调用stop
方法或从其MBean服务器取消注册连接器服务器时,连接器服务器将停止侦听客户端连接。停止连接器服务器不会从其MBean服务器取消注册。 一旦停止的连接器服务器无法重新启动。
每次建立或断开客户端连接时, 都会发出类
JMXConnectionNotification
的通知。- 从以下版本开始:
- 1.5
-
-
字段汇总
字段 变量和类型 字段 描述 static String
AUTHENTICATOR
指定连接器服务器的身份验证器的属性的名称。
-
构造方法摘要
构造方法 构造器 描述 JMXConnectorServer()
构造一个连接器服务器,该服务器将在其所连接的MBean服务器中注册为MBean。JMXConnectorServer(MBeanServer mbeanServer)
构造连接到给定MBean服务器的连接器服务器。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 protected void
connectionClosed(String connectionId, String message, Object userData)
当客户端连接正常关闭时由子类调用。protected void
connectionFailed(String connectionId, String message, Object userData)
客户端连接失败时由子类调用。protected void
connectionOpened(String connectionId, String message, Object userData)
打开新客户端连接时由子类调用。MBeanServer
getMBeanServer()
返回此连接器服务器所连接的MBean服务器。MBeanNotificationInfo[]
getNotificationInfo()
返回一个数组,指示此MBean发送的通知。void
preDeregister()
当从该MBean服务器取消注册此连接器服务器时,由MBean服务器调用。ObjectName
preRegister(MBeanServer mbs, ObjectName name)
在此MBean服务器中注册此连接器服务器时由MBean服务器调用。JMXConnector
toJMXConnector(Map<String,?> env)
返回此连接器服务器的客户端存根。-
声明方法的类 javax.management.NotificationBroadcasterSupport
addNotificationListener, handleNotification, sendNotification
-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 javax.management.remote.JMXAddressable
getAddress
-
声明方法的接口 javax.management.remote.JMXConnectorServerMBean
getAddress, getAttributes, getConnectionIds, isActive, setMBeanServerForwarder, start, stop
-
声明方法的接口 javax.management.MBeanRegistration
postDeregister, postRegister
-
声明方法的接口 javax.management.NotificationBroadcaster
removeNotificationListener
-
声明方法的接口 javax.management.NotificationEmitter
removeNotificationListener
-
-
-
-
字段详细信息
-
AUTHENTICATOR
public static final String AUTHENTICATOR
指定连接器服务器的身份验证器的属性的名称。 与此属性关联的值(如果有)必须是实现接口
JMXAuthenticator
的对象。- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
JMXConnectorServer
public JMXConnectorServer()
构造一个连接器服务器,该服务器将在其所连接的MBean服务器中注册为MBean。 在MBean服务器中创建使其可远程使用的连接器服务器时,此构造函数通常由
createMBean
方法之一调用。
-
JMXConnectorServer
public JMXConnectorServer(MBeanServer mbeanServer)
构造连接到给定MBean服务器的连接器服务器。 以这种方式创建的连接器服务器可以在不同的MBean服务器中注册,也可以不在任何MBean服务器中注册。
- 参数
-
mbeanServer
- 此连接器服务器所连接的MBean服务器。 如果此连接器服务器通过在其中注册而附加到MBean服务器,则为空。
-
-
方法详细信息
-
getMBeanServer
public MBeanServer getMBeanServer()
返回此连接器服务器所连接的MBean服务器。
- 结果
- 此连接器服务器所连接的MBean服务器,如果尚未连接到MBean服务器,则为null。
-
toJMXConnector
public JMXConnector toJMXConnector(Map<String,?> env) throws IOException
返回此连接器服务器的客户端存根。 客户端存根是一个可序列化的对象,其
connect
方法可用于与此连接器服务器建立一个新连接。给定的连接器不需要支持客户端存根的生成。 但是,JMX Remote API指定的连接器(JMXMP连接器和RMI连接器)。
此方法的默认实现使用
JMXConnectorServerMBean.getAddress()
和JMXConnectorFactory
生成存根,代码等效于以下内容:JMXServiceURL addr =
getAddress()
; returnJMXConnectorFactory.newJMXConnector(addr, env)
;不适合的连接器服务器必须覆盖此方法,以便它实现适当的逻辑或抛出
UnsupportedOperationException
。- Specified by:
-
toJMXConnector
在界面JMXConnectorServerMBean
- 参数
-
env
- 可提供给JMXConnector.connect(Map)
的相同类型的客户端连接参数。 可以为null,相当于空映射。 - 结果
- 客户端存根,可用于与此连接器服务器建立新连接。
- 异常
-
UnsupportedOperationException
- 如果此连接器服务器不支持生成客户端存根。 -
IllegalStateException
- 如果未启动JMXConnectorServer(请参阅JMXConnectorServerMBean.isActive()
)。 -
IOException
- 如果通信问题意味着无法创建存根。
-
getNotificationInfo
public MBeanNotificationInfo[] getNotificationInfo()
返回一个数组,指示此MBean发送的通知。
JMXConnectorServer
的实现返回一个包含一个元素的数组,表示它可以使用该类中定义的类型发出类JMXConnectionNotification
的通知。 可以发出其他通知的子类应返回包含此元素的数组以及其他通知的描述。- Specified by:
-
getNotificationInfo
,界面NotificationBroadcaster
- 结果
- 可能的通知数组。
-
connectionOpened
protected void connectionOpened(String connectionId, String message, Object userData)
打开新客户端连接时由子类调用。 添加
connectionId
通过返回的列表JMXConnectorServerMBean.getConnectionIds()
,然后发出JMXConnectionNotification
类型JMXConnectionNotification.OPENED
。- 参数
-
connectionId
- 新连接的ID。 这必须与此连接器服务器先前打开的任何连接的ID不同。 -
message
- 发出的JMXConnectionNotification
的消息。 可以为null。 见Notification.getMessage()
。 -
userData
-该userData
的发射JMXConnectionNotification
。 可以为null。 见Notification.getUserData()
。 - 异常
-
NullPointerException
- 如果connectionId
为空。
-
connectionClosed
protected void connectionClosed(String connectionId, String message, Object userData)
当客户端连接正常关闭时由子类调用。 删除
connectionId
从返回的列表JMXConnectorServerMBean.getConnectionIds()
,然后发出JMXConnectionNotification
类型JMXConnectionNotification.CLOSED
。- 参数
-
connectionId
- 已关闭连接的ID。 -
message
- 发出的消息JMXConnectionNotification
。 可以为null。 见Notification.getMessage()
。 -
userData
-该userData
的发射JMXConnectionNotification
。 可以为null。 见Notification.getUserData()
。 - 异常
-
NullPointerException
- 如果connectionId
为空。
-
connectionFailed
protected void connectionFailed(String connectionId, String message, Object userData)
客户端连接失败时由子类调用。 删除
connectionId
从返回的列表JMXConnectorServerMBean.getConnectionIds()
,然后发出JMXConnectionNotification
类型JMXConnectionNotification.FAILED
。- 参数
-
connectionId
- 失败连接的ID。 -
message
- 发出的JMXConnectionNotification
的消息。 可以为null。 见Notification.getMessage()
。 -
userData
-userData
用于发出的JMXConnectionNotification
。 可以为null。 见Notification.getUserData()
。 - 异常
-
NullPointerException
- 如果connectionId
为空。
-
preRegister
public ObjectName preRegister(MBeanServer mbs, ObjectName name)
在此MBean服务器中注册此连接器服务器时由MBean服务器调用。 此连接器服务器将附加到MBean服务器,其
getMBeanServer()
方法将返回mbs
。如果此连接器服务器已附加到MBean服务器,则此方法无效。 它所连接的MBean服务器不一定是它所注册的服务器。
- Specified by:
-
preRegister
,界面MBeanRegistration
- 参数
-
mbs
- 正在注册此连接服务器的MBean服务器。 -
name
- MBean的对象名称。 - 结果
- 要注册MBean的名称。
- 异常
-
NullPointerException
- 如果mbs
或name
为空。
-
preDeregister
public void preDeregister() throws 异常
当从该MBean服务器取消注册此连接器服务器时,由MBean服务器调用。 如果此连接器服务器通过在其中注册而连接到该MBean服务器,并且连接器服务器仍处于活动状态,则取消注册它将调用
stop
方法。 如果stop
方法抛出异常,则取消注册尝试将失败。 建议在取消注册MBean之前显式调用stop
方法。- Specified by:
-
preDeregister
,界面MBeanRegistration
- 异常
-
IOException
- 如果被stop
方法抛出。 -
异常
- 此异常将被MBean服务器捕获并重新抛出为MBeanRegistrationException
。
-
-