public interface JMXConnectorServerMBean
连接器服务器的MBean接口。 JMX API连接器服务器连接到MBean服务器,并与远程客户端的MBean服务器建立连接。
新创建的连接器服务器处于非活动状态 ,并且尚未监听连接。 只有当它的start
方法被调用它才开始侦听连接。
Modifier and Type | Method and Description |
---|---|
JMXServiceURL |
getAddress()
该连接器服务器的地址。
|
Map<String,?> |
getAttributes()
此连接器服务器的属性。
|
String[] |
getConnectionIds()
此连接器服务器当前打开的连接的ID列表。
|
boolean |
isActive()
确定连接器服务器是否处于活动状态。
|
void |
setMBeanServerForwarder(MBeanServerForwarder mbsf)
插入一个对象,拦截通过此连接器服务器到达的MBean服务器的请求。
|
void |
start()
激活连接器服务器,即开始侦听客户端连接。
|
void |
stop()
停用连接器服务器,即停止侦听客户端连接。
|
JMXConnector |
toJMXConnector(Map<String,?> env)
返回此连接器服务器的客户端存根。
|
void start() throws IOException
激活连接器服务器,即开始侦听客户端连接。 当连接器服务器已经处于活动状态时调用此方法没有任何效果。 当连接器服务器停止时调用此方法将生成一个IOException
。
IOException
- 如果无法开始侦听或连接器服务器已停止。
IllegalStateException
- 如果连接器服务器尚未连接到MBean服务器。
void stop() throws IOException
停用连接器服务器,即停止侦听客户端连接。 调用此方法还将关闭此服务器所做的所有客户端连接。 此方法返回后,无论是正常还是异常,连接器服务器将不会创建任何新的客户端连接。
一旦连接器服务器停止,它将无法再次启动。
当连接器服务器已经停止时调用此方法没有任何作用。 当连接器服务器尚未启动时调用此方法将永久禁用连接器服务器对象。
如果关闭客户端连接会产生异常,则不会从此方法抛出该异常。 具有JMXConnectionNotification.FAILED
类型的JMXConnectionNotification
从该MBean发出,连接的连接ID无法关闭。
关闭连接器服务器是一个潜在的慢操作。 例如,如果具有打开连接的客户端计算机崩溃,则关闭操作可能必须等待网络协议超时。 不想封闭操作的调用者应该在单独的线程中执行。
IOException
- 如果服务器无法正常关闭。
抛出此异常时,服务器已尝试关闭所有客户端连接。
除了服务器尝试关闭客户端连接之外,所有客户端连接都可能关闭。
boolean isActive()
void setMBeanServerForwarder(MBeanServerForwarder mbsf)
插入一个对象,拦截通过此连接器服务器到达的MBean服务器的请求。 该目的将随着供给MBeanServer
用于通过此连接器服务器创建的任何新的连接。 现有连接不受影响。
该方法可以使用不同的MBeanServerForwarder
对象多次调用 。 结果是一连串的代理商。 最后一名货车是连锁店的第一名。 更详细地说:
如果此连接器服务器已与MBeanServer
对象关联,那么该对象将被提供给mbsf.setMBeanServer
。 如果这样做会产生异常,则此方法会引发相同的异常,而不会产生任何其他影响。
如果此连接器尚未与MBeanServer
对象关联,或者如果刚刚提到的mbsf.setMBeanServer
呼叫成功,则mbsf
将成为此连接器服务器的MBeanServer
。
mbsf
- 全新
MBeanServerForwarder
。
IllegalArgumentException
- 如果调用mbsf.setMBeanServer
失败与IllegalArgumentException
。
这包括mbsf
为空的情况。
String[] getConnectionIds()
此连接器服务器当前打开的连接的ID列表。
JMXServiceURL getAddress()
该连接器服务器的地址。
返回的地址可能不是创建连接器服务器时提供的原始JMXServiceURL
,因为原始地址可能并不总是完成。 例如,启动连接器服务器时可以动态分配端口号。 相反,返回的地址是JMXConnectorServer
的实际JMXServiceURL
。 这是客户提供给JMXConnectorFactory.connect(JMXServiceURL)
的地址。
需要注意的是返回的地址可能是null
如果JMXConnectorServer
尚未active
。
Map<String,?> getAttributes()
此连接器服务器的属性。
JMXConnector toJMXConnector(Map<String,?> env) throws IOException
返回此连接器服务器的客户端存根。 客户端存根是可串行化的对象,其connect
方法可用于与此连接器服务器建立一个新连接。
给定的连接器不需要支持生成客户端存根。 但是,由JMX Remote API指定的连接器(JMXMP Connector和RMI Connector)。
env
- 可以提供给JMXConnector.connect(Map)
的相同排序的客户端连接参数 。
可以为空,这相当于一个空的地图。
UnsupportedOperationException
- 如果此连接器服务器不支持生成客户端存根。
IllegalStateException
- 如果JMXConnectorServer未启动(请参阅
isActive()
)。
IOException
- 如果通信问题意味着无法创建存根。