-
- 所有已知实现类:
-
JMXConnectorServer
,RMIConnectorServer
public interface JMXConnectorServerMBean
连接器服务器的MBean接口。 JMX API连接器服务器连接到MBean服务器,并与远程客户端的MBean服务器建立连接。
新创建的连接器服务器处于非活动状态 ,并且尚未监听连接。 只有当它的
start
方法被调用它才开始侦听连接。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 JMXServiceURL
getAddress()
该连接器服务器的地址。Map<String,?>
getAttributes()
此连接器服务器的属性。String[]
getConnectionIds()
此连接器服务器当前打开的连接的ID列表。boolean
isActive()
确定连接器服务器是否处于活动状态。void
setMBeanServerForwarder(MBeanServerForwarder mbsf)
插入一个对象,拦截通过此连接器服务器到达的MBean服务器的请求。void
start()
激活连接器服务器,即开始侦听客户端连接。void
stop()
停用连接器服务器,即停止侦听客户端连接。JMXConnector
toJMXConnector(Map<String,?> env)
返回此连接器服务器的客户端存根。
-
-
-
方法详细信息
-
start
void start() throws IOException
激活连接器服务器,即开始侦听客户端连接。 当连接器服务器已经处于活动状态时调用此方法没有任何效果。 当连接器服务器停止时调用此方法将生成一个
IOException
。- 异常
-
IOException
- 如果无法开始侦听或连接器服务器已停止。 -
IllegalStateException
- 如果连接器服务器尚未连接到MBean服务器。
-
stop
void stop() throws IOException
停用连接器服务器,即停止侦听客户端连接。 调用此方法还将关闭此服务器所做的所有客户端连接。 此方法返回后,无论是正常还是异常,连接器服务器将不会创建任何新的客户端连接。
一旦连接器服务器停止,它将无法再次启动。
当连接器服务器已经停止时调用此方法没有任何作用。 当连接器服务器尚未启动时调用此方法将永久禁用连接器服务器对象。
如果关闭客户端连接会产生异常,则不会从此方法抛出该异常。 甲
JMXConnectionNotification
类型JMXConnectionNotification.FAILED
从此MBean与无法关闭的连接的连接ID射出。关闭连接器服务器是一个潜在的慢操作。 例如,如果具有打开连接的客户端计算机崩溃,则关闭操作可能必须等待网络协议超时。 不想封闭操作的调用者应该在单独的线程中执行。
- 异常
-
IOException
- 如果服务器无法正常关闭。 抛出此异常时,服务器已尝试关闭所有客户端连接。 除了服务器尝试关闭客户端连接之外,所有客户端连接都可能关闭。
-
isActive
boolean isActive()
- 结果
- 新新新旗新新新新旗新新旗新新旗新新旗新新旗旗新新新旗新新旗新新旗新新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
- 如果通信问题意味着无法创建存根。
-
-