|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.management.remote
接口 JMXConnector
- 所有已知实现类:
- RMIConnector
-
public interface JMXConnector
JMX API 连接器的客户端。使用此类型的对象可建立到连接器服务器的连接。
新创建的此类型对象尚未连接。在此对象能够使用之前,必须调用其 connect
方法。但是,由 JMXConnectorFactory.connect
创建的对象已经连接。
- 从以下版本开始:
- 1.5
字段摘要 | |
---|---|
static String |
CREDENTIALS 属性的名称,它指定了连接过程中发送给连接器服务器的凭据。 |
方法摘要 | |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) 添加一个接收连接状态改变的侦听器。 |
void |
close() 关闭客户端到其服务器的连接。 |
void |
connect() 建立到连接器服务器的连接。 |
void |
connect(Map<String,?> env) 建立到连接器服务器的连接。 |
String |
getConnectionId() 获得来自连接器服务器的连接 ID。 |
MBeanServerConnection |
getMBeanServerConnection() 返回一个代表远程 MBean 服务器的 MBeanServerConnection 对象。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject) 返回 MBeanServerConnection 对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。 |
void |
removeConnectionNotificationListener(NotificationListener listener) 将一个用于接收状态更改通知的侦听器从列表中移除。 |
void |
removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback) 将一个用于接收状态更改通知的侦听器从列表中移除。 |
字段详细信息 |
---|
CREDENTIALS
static final String CREDENTIALS
-
属性的名称,它指定了连接过程中发送给连接器服务器的凭据。与此属性关联的值(如果有)为服务器的
JMXAuthenticator
的具有适当类型的可序列化的对象。- 另请参见:
- 常量字段值
方法详细信息 |
---|
connect
void connect() throws IOException
-
建立到连接器服务器的连接。此方法等效于
connect(null)
。 -
- 抛出:
-
IOException
- 如果由于存在通信问题而导致无法建立连接。 -
SecurityException
- 如果由于安全原因而无法建立连接。
connect
void connect(Map<String,?> env) throws IOException
-
建立到连接器服务器的连接。
如果已在该对象上成功调用了
connect
,则再次调用将没有任何作用。但是,如果close()
是在调用connect
之后调用的,则新的connect
将抛出一个IOException
。否则,在此对象上未调用过任何一个
connect
,或者虽然调用过但生成了一个异常。然后对connect
的调用将试图建立到连接器服务器的连接。 -
- 参数:
-
env
- 连接的属性。此映射中的属性重写创建JMXConnector
时指定的映射中的属性(如果有)。此参数可以为 null,其等效于一个空映射。 - 抛出:
-
IOException
- 如果由于存在通信问题而导致无法建立连接。 -
SecurityException
- 如果由于安全原因而无法建立连接。
getMBeanServerConnection
MBeanServerConnection getMBeanServerConnection() throws IOException
-
返回一个代表远程 MBean 服务器的
MBeanServerConnection
对象。对于给定的JMXConnector
,对此方法两次成功的调用通常将返回相同的MBeanServerConnection
对象,尽管不需要这样做。对于返回的
MBeanServerConnection
中的每个方法,调用该方法将导致调用远程 MBean 服务器中的相应方法。MBean 服务器方法返回的值就是返回给客户端的值。如果 MBean 服务器方法生成了Exception
,则客户端上也会出现相同的Exception
。如果 MBean 服务器方法(或尝试对它的调用)生成了Error
,则该Error
将包装在JMXServerErrorException
中,从客户端能够看到该错误。调用该方法等效于调用
getMBeanServerConnection(null)
,这意味着未指定任何委托主题并且在MBeanServerConnection
上调用的所有操作必须使用经验证的主题(如果有)。 -
- 返回:
-
一个通过将其方法转发到远程 MBean 服务器而实现
MBeanServerConnection
接口的对象。 - 抛出:
-
IOException
- 如果无法创建有效的MBeanServerConnection
,例如,由于尚未建立到远程 MBean 服务器的连接(用connect
方法),或者连接已关闭,或者连接已断开。
getMBeanServerConnection
MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
-
返回
MBeanServerConnection
对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。对于给定的JMXConnector
和Subject
,对此方法两次成功的调用通常将返回相同的MBeanServerConnection
对象,尽管不需要这样做。对于返回的
MBeanServerConnection
中的每个方法,调用此方法导致调用代表给定委托主题,而不是经验证主题的远程 MBean 服务器上的对应方法。MBean 服务器方法返回的值就是返回给客户端的值。如果 MBean 服务器方法生成了Exception
,则客户端上也会出现相同的Exception
。如果 MBean 服务器方法(或尝试对它的调用)生成了Error
,则该Error
将包装在JMXServerErrorException
中,从客户端能够看到该错误。 -
- 参数:
-
delegationSubject
- 代表将执行何种请求的Subject
。可以为 null,这种情况下执行请求表示经验证的 Subject(如果有)。 - 返回:
-
一个通过将其方法转发到代表给定委托主题的远程 MBean 服务器而实现
MBeanServerConnection
接口的对象。 - 抛出:
-
IOException
- 如果无法创建有效的MBeanServerConnection
,例如,由于尚未建立到远程 MBean 服务器的连接(用connect
方法),或者连接已关闭,或者连接已断开。
close
void close() throws IOException
-
关闭客户端到其服务器的连接。任何正在进行中的或新的使用由
getMBeanServerConnection()
返回的 MBeanServerConnection 的请求将获得一个IOException
。如果已在该对象上成功调用了
close
,则再次调用将没有任何作用。如果从未调用过close
,或者调用过但生成了异常,则将尝试关闭该连接。此尝试可能成功,此时close
将正常返回,也可能生成一个异常。关闭连接是一个潜在的慢操作。例如,假设服务器已崩溃,则关闭操作可能不得不等待网络协议超时。不希望关闭操作出现阻塞的调用者应在单独的线程中处理关闭。
-
- 抛出:
-
IOException
- 如果无法完全关闭连接。如果抛出此异常,连接的服务器端是否已完全关闭为未知。
addConnectionNotificationListener
void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
-
添加一个接收连接状态改变的侦听器。该侦听器将接收
JMXConnectionNotification
类型的通知。实现也可发送任何其他类型的通知。使用此方法可添加任意个数的侦听器。相同的侦听器可使用相同或不同的 filter 和 handback 值多次添加。不对重复的条目进行任何特殊处理。例如,假设侦听器两次注册均为不带 filter,则将为每个通知调用两次其
handleNotification
方法。 -
- 参数:
-
listener
- 用于接收连接状态通知的侦听器。 -
filter
- 用于选择要发送给侦听器的通知的过滤器,如果将发送所有的通知,则为 null。 -
handback
- 将随每个通知提供给侦听器的对象。可以为 null。 - 抛出:
-
NullPointerException
- 如果listener
为 null。 - 另请参见:
-
removeConnectionNotificationListener(javax.management.NotificationListener)
,NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
removeConnectionNotificationListener
void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
-
将一个用于接收状态更改通知的侦听器从列表中移除。此侦听器必须在以前已经添加。如果有多个匹配的侦听器,则移除所有匹配的侦听器。
-
- 参数:
-
listener
- 用于接收连接状态通知的侦听器。 - 抛出:
-
NullPointerException
- 如果listener
为 null。 -
ListenerNotFoundException
- 如果侦听器未用此JMXConnector
注册。 - 另请参见:
-
removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object)
,addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)