|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.management.remote.rmi.RMIConnector
public class RMIConnector
一个到远程 RMI 连接器的连接。通常情况下,使用 JMXConnectorFactory
建立这样的连接。但是,专门的应用程序可直接使用此类,例如获得 RMIServer
stub,而不需要通过 JNDI。
字段摘要 |
---|
从接口 javax.management.remote.JMXConnector 继承的字段 |
---|
CREDENTIALS |
构造方法摘要 | |
---|---|
RMIConnector(JMXServiceURL url,
Map<String,?> environment)
构造一个把 RMI 连接器服务器连接到给定地址的 RMIConnector 。 |
|
RMIConnector(RMIServer rmiServer,
Map<String,?> environment)
用给定的 RMI stub 构造一个 RMIConnector 。 |
方法摘要 | |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
添加一个接收连接状态改变的侦听器。 |
void |
close()
关闭客户端到其服务器的连接。 |
void |
connect()
建立到连接器服务器的连接。 |
void |
connect(Map<String,?> environment)
建立到连接器服务器的连接。 |
String |
getConnectionId()
获得来自连接器服务器的连接 ID。 |
MBeanServerConnection |
getMBeanServerConnection()
返回一个代表远程 MBean 服务器的 MBeanServerConnection 对象。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
返回 MBeanServerConnection 对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。 |
void |
removeConnectionNotificationListener(NotificationListener listener)
将一个用于接收状态更改通知的侦听器从列表中移除。 |
void |
removeConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
将一个用于接收状态更改通知的侦听器从列表中移除。 |
String |
toString()
返回此对象的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public RMIConnector(JMXServiceURL url, Map<String,?> environment)
构造一个把 RMI 连接器服务器连接到给定地址的 RMIConnector
。
地址可直接引用连接器服务器,使用如下语法之一:
service:jmx:rmi://[host[:port]]/stub/encoded-stub service:jmx:iiop://[host[:port]]/ior/encoded-IOR
(这里的方括号 []
不属于地址的组成部分,只表示主机和端口为可选项)。
地址还可表示使用 JNDI 查找 RMI stub 的位置,使用如下语法之一:
service:jmx:rmi://[host[:port]]/jndi/jndi-name service:jmx:iiop://[host[:port]]/jndi/jndi-name
实现还可识别其他地址语法,例如:
service:jmx:iiop://[host[:port]]/stub/encoded-stub
url
- RMI 连接器服务器的地址。environment
- 指定如何进行连接的其他属性。对于基于 JNDI 的地址,这些属性可有效地包含可由 InitialContext
识别的 JNDI 属性。此参数可以为 null,其等效于一个空映射。
IllegalArgumentException
- 如果 url
为 null。public RMIConnector(RMIServer rmiServer, Map<String,?> environment)
用给定的 RMI stub 构造一个 RMIConnector
。
rmiServer
- 代表 RMI 连接器服务器的一个 RMI stub。environment
- 指定如何进行连接的其他属性。此参数可以为 null,其等效于一个空映射。
IllegalArgumentException
- 如果 rmiServer
为 null。方法详细信息 |
---|
public String toString()
返回此对象的字符串表示形式。通常情况下,toString
方法会返回一个“按文本方式表示”此对象的字符串。结果应是一个简明而丰富的表示形式,它方便人们阅读。
public void connect() throws IOException
JMXConnector
复制的描述建立到连接器服务器的连接。此方法等效于 connect(null)
。
JMXConnector
中的 connect
IOException
- 如果由于存在通信问题而导致无法建立连接。public void connect(Map<String,?> environment) throws IOException
JMXConnector
复制的描述建立到连接器服务器的连接。
如果已在该对象上成功调用了 connect
,则再次调用将没有任何作用。但是,如果 JMXConnector.close()
是在调用 connect
之后调用的,则新的 connect
将抛出一个 IOException
。
否则,在此对象上未调用过任何一个 connect
,或者虽然调用过但生成了一个异常。然后对 connect
的调用将试图建立到连接器服务器的连接。
JMXConnector
中的 connect
environment
- 连接的属性。此映射中的属性重写创建 JMXConnector
时指定的映射中的属性(如果有)。此参数可以为 null,其等效于一个空映射。
IOException
- 如果由于存在通信问题而导致无法建立连接。public String getConnectionId() throws IOException
JMXConnector
复制的描述获得来自连接器服务器的连接 ID。对于给定的连接器服务器,每个连接将具有一个在连接的整个生命周期中都不改变的惟一 ID。
JMXConnector
中的 getConnectionId
JMXConnectionNotification
中的 ID 相同。package description
描述了连接 ID 的约定。
IOException
- 如果无法获得连接 ID,例如在连接关闭或断开的情况下。public MBeanServerConnection getMBeanServerConnection() throws IOException
JMXConnector
复制的描述返回一个代表远程 MBean 服务器的 MBeanServerConnection
对象。对于给定的 JMXConnector
,对此方法两次成功的调用通常将返回相同的 MBeanServerConnection
对象,尽管不需要这样做。
对于返回的 MBeanServerConnection
中的每个方法,调用该方法将导致调用远程 MBean 服务器中的相应方法。MBean 服务器方法返回的值就是返回给客户端的值。如果 MBean 服务器方法生成了 Exception
,则客户端上也会出现相同的 Exception
。如果 MBean 服务器方法(或尝试对它的调用)生成了 Error
,则该 Error
将包装在 JMXServerErrorException
中,从客户端能够看到该错误。
调用该方法等效于调用 getMBeanServerConnection(null)
,这意味着未指定任何委托主题并且在 MBeanServerConnection
上调用的所有操作必须使用经验证的主题(如果有)。
JMXConnector
中的 getMBeanServerConnection
MBeanServerConnection
接口的对象。
IOException
- 如果无法创建有效的 MBeanServerConnection
,例如,由于尚未建立到远程 MBean 服务器的连接(用 connect
方法),或者连接已关闭,或者连接已断开。public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
JMXConnector
复制的描述返回 MBeanServerConnection
对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。对于给定的 JMXConnector
和 Subject
,对此方法两次成功的调用通常将返回相同的 MBeanServerConnection
对象,尽管不需要这样做。
对于返回的 MBeanServerConnection
中的每个方法,调用此方法导致调用代表给定委托主题,而不是经验证主题的远程 MBean 服务器上的对应方法。MBean 服务器方法返回的值就是返回给客户端的值。如果 MBean 服务器方法生成了 Exception
,则客户端上也会出现相同的 Exception
。如果 MBean 服务器方法(或尝试对它的调用)生成了 Error
,则该 Error
将包装在 JMXServerErrorException
中,从客户端能够看到该错误。
JMXConnector
中的 getMBeanServerConnection
delegationSubject
- 代表将执行何种请求的 Subject
。可以为 null,这种情况下执行请求表示经验证的 Subject(如果有)。
MBeanServerConnection
接口的对象。
IOException
- 如果无法创建有效的 MBeanServerConnection
,例如,由于尚未建立到远程 MBean 服务器的连接(用 connect
方法),或者连接已关闭,或者连接已断开。public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnector
复制的描述添加一个接收连接状态改变的侦听器。该侦听器将接收 JMXConnectionNotification
类型的通知。实现也可发送任何其他类型的通知。
使用此方法可添加任意个数的侦听器。相同的侦听器可使用相同或不同的 filter 和 handback 值多次添加。不对重复的条目进行任何特殊处理。例如,假设侦听器两次注册均为不带 filter,则将为每个通知调用两次其 handleNotification
方法。
listener
- 用于接收连接状态通知的侦听器。filter
- 用于选择要发送给侦听器的通知的过滤器,如果将发送所有的通知,则为 null。handback
- 将随每个通知提供给侦听器的对象。可以为 null。JMXConnector.removeConnectionNotificationListener(javax.management.NotificationListener)
,
NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnector
复制的描述将一个用于接收状态更改通知的侦听器从列表中移除。此侦听器必须在以前已经添加。如果有多个匹配的侦听器,则移除所有匹配的侦听器。
listener
- 用于接收连接状态通知的侦听器。
ListenerNotFoundException
- 如果侦听器未用此 JMXConnector
注册。JMXConnector.removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object)
,
JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
JMXConnector
复制的描述将一个用于接收状态更改通知的侦听器从列表中移除。该侦听器必须在以前已经用相同的三个参数添加。如果有多个匹配的侦听器,则只移除一个匹配的侦听器。
listener
- 用于接收连接状态通知的侦听器。filter
- 用于选择发送给侦听器通知的过滤器。可以为 null。handback
- 将随每个通知提供给侦听器的对象。可以为 null。
ListenerNotFoundException
- 如果侦听器未用此 JMXConnector
注册,或者未用给定的 filter 和 handback 注册。JMXConnector.removeConnectionNotificationListener(NotificationListener)
,
JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void close() throws IOException
JMXConnector
复制的描述关闭客户端到其服务器的连接。任何正在进行中的或新的使用由 JMXConnector.getMBeanServerConnection()
返回的 MBeanServerConnection 的请求将获得一个 IOException
。
如果已在该对象上成功调用了 close
,则再次调用将没有任何作用。如果从未调用过 close
,或者调用过但生成了异常,则将尝试关闭该连接。此尝试可能成功,此时 close
将正常返回,也可能生成一个异常。
关闭连接是一个潜在的慢操作。例如,假设服务器已崩溃,则关闭操作可能不得不等待网络协议超时。不希望关闭操作出现阻塞的调用者应在单独的线程中处理关闭。
JMXConnector
中的 close
IOException
- 如果无法完全关闭连接。如果抛出此异常,连接的服务器端是否已完全关闭为未知。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。