所有类


javax.management.remote.rmi
类 RMIConnector

java.lang.Object
  继承者 javax.management.remote.rmi.RMIConnector
所有已实现的接口:
Serializable, JMXConnector

public class RMIConnector
   
   
   
   
   
extends Object
implements JMXConnector, Serializable

一个到远程 RMI 连接器的连接。通常情况下,使用 JMXConnectorFactory 建立这样的连接。但是,专门的应用程序可直接使用此类,例如获得 RMIServer stub,而不需要通过 JNDI。

从以下版本开始:
1.5
另请参见:
序列化表格

字段摘要
 
从接口 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
 

构造方法详细信息

RMIConnector

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。

RMIConnector

public RMIConnector(RMIServer rmiServer,
                    Map<String,?> environment)

用给定的 RMI stub 构造一个 RMIConnector

参数:
rmiServer - 代表 RMI 连接器服务器的一个 RMI stub。
environment - 指定如何进行连接的其他属性。此参数可以为 null,其等效于一个空映射。
抛出:
IllegalArgumentException - 如果 rmiServer 为 null。
方法详细信息

toString

public String toString()

返回此对象的字符串表示形式。通常情况下,toString 方法会返回一个“按文本方式表示”此对象的字符串。结果应是一个简明而丰富的表示形式,它方便人们阅读。

覆盖:
Object 中的 toString
返回:
此对象的字符串表示形式。

connect

public void connect()
             throws IOException
从接口 JMXConnector 复制的描述

建立到连接器服务器的连接。此方法等效于 connect(null)

指定者:
接口 JMXConnector 中的 connect
抛出:
IOException - 如果由于存在通信问题而导致无法建立连接。

connect

public void connect(Map<String,?> environment)
             throws IOException
从接口 JMXConnector 复制的描述

建立到连接器服务器的连接。

如果已在该对象上成功调用了 connect,则再次调用将没有任何作用。但是,如果 JMXConnector.close() 是在调用 connect 之后调用的,则新的 connect 将抛出一个 IOException

否则,在此对象上未调用过任何一个 connect,或者虽然调用过但生成了一个异常。然后对 connect 的调用将试图建立到连接器服务器的连接。

指定者:
接口 JMXConnector 中的 connect
参数:
environment - 连接的属性。此映射中的属性重写创建 JMXConnector 时指定的映射中的属性(如果有)。此参数可以为 null,其等效于一个空映射。
抛出:
IOException - 如果由于存在通信问题而导致无法建立连接。

getConnectionId

public String getConnectionId()
                       throws IOException
从接口 JMXConnector 复制的描述

获得来自连接器服务器的连接 ID。对于给定的连接器服务器,每个连接将具有一个在连接的整个生命周期中都不改变的惟一 ID。

指定者:
接口 JMXConnector 中的 getConnectionId
返回:
此连接的惟一 ID。这与连接器服务器包含在其 JMXConnectionNotification 中的 ID 相同。package description 描述了连接 ID 的约定。
抛出:
IOException - 如果无法获得连接 ID,例如在连接关闭或断开的情况下。

getMBeanServerConnection

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
返回:
一个通过将其方法转发到远程 MBean 服务器而实现 MBeanServerConnection 接口的对象。
抛出:
IOException - 如果无法创建有效的 MBeanServerConnection,例如,由于尚未建立到远程 MBean 服务器的连接(用 connect 方法),或者连接已关闭,或者连接已断开。

getMBeanServerConnection

public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject)
                                               throws IOException
从接口 JMXConnector 复制的描述

返回 MBeanServerConnection 对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。对于给定的 JMXConnectorSubject,对此方法两次成功的调用通常将返回相同的 MBeanServerConnection 对象,尽管不需要这样做。

对于返回的 MBeanServerConnection 中的每个方法,调用此方法导致调用代表给定委托主题,而不是经验证主题的远程 MBean 服务器上的对应方法。MBean 服务器方法返回的值就是返回给客户端的值。如果 MBean 服务器方法生成了 Exception,则客户端上也会出现相同的 Exception。如果 MBean 服务器方法(或尝试对它的调用)生成了 Error,则该 Error 将包装在 JMXServerErrorException 中,从客户端能够看到该错误。

指定者:
接口 JMXConnector 中的 getMBeanServerConnection
参数:
delegationSubject - 代表将执行何种请求的 Subject。可以为 null,这种情况下执行请求表示经验证的 Subject(如果有)。
返回:
一个通过将其方法转发到代表给定委托主题的远程 MBean 服务器而实现 MBeanServerConnection 接口的对象。
抛出:
IOException - 如果无法创建有效的 MBeanServerConnection,例如,由于尚未建立到远程 MBean 服务器的连接(用 connect 方法),或者连接已关闭,或者连接已断开。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部