public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable
一个远程RMI连接器连接。通常,这样的连接是用JMXConnectorFactory
。然而,专门的应用程序可以直接使用这个类,例如一个RMIServer
存根不通过JNDI获得。
CREDENTIALS
Constructor and Description |
---|
RMIConnector(JMXServiceURL url, Map<String,?> environment)
构建了一个
RMIConnector 将连接RMI连接器服务器的地址。
|
RMIConnector(RMIServer rmiServer, Map<String,?> environment)
构建了一个
RMIConnector RMI存根。
|
Modifier and Type | Method and Description |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
添加一个侦听器以获知连接状态的更改。
|
void |
close()
关闭客户端连接到它的服务器。
|
void |
connect()
建立连接到连接器服务器。
|
void |
connect(Map<String,?> environment)
建立连接到连接器服务器。
|
JMXServiceURL |
getAddress()
该连接器的地址。
|
String |
getConnectionId()
从连接器服务器获取此连接的身份证。
|
MBeanServerConnection |
getMBeanServerConnection()
返回一个
MBeanServerConnection 对象代表一个远程管理服务器。
|
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
返回一个
MBeanServerConnection 对象代表一个MBean服务器上远程操作对供给主体进行授权代表。
|
void |
removeConnectionNotificationListener(NotificationListener listener)
从列表中移除一个侦听器,以获知状态的更改。
|
void |
removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
从列表中移除一个侦听器,以获知状态的更改。
|
String |
toString()
返回此对象的字符串表示形式。
|
public RMIConnector(JMXServiceURL url, Map<String,?> environment)
构建了一个RMIConnector
将连接RMI连接器服务器的地址。
地址可以直接引用连接服务器,使用下面的语法:
服务:JMX:RMI:/ / [主持人] [:端口] /短/编码存根服务:JMX:IIOP:/ / [主持人] [:端口] /下/编码IOR
(在这里,括号内[]
没有地址的一部分但表明主机和端口是可选的。)
地址可以表示通过JNDI找到一个RMI存根,使用下面的语法:
服务:JMX:RMI:/ / [主持人] [:端口] /目录/ JNDI名称服务:JMX:IIOP:/ / [主机[:端口] ] /目录/ JNDI名称
一个实现可能也认识到其他地址的语法,例如:
服务:JMX:IIOP:/ / [主持人] [:端口] /短/编码存根
url
- RMI连接器服务器地址。
environment
附加属性指定如何连接。对于基于JNDI的地址,这些属性可以包括JNDI属性被
InitialContext
。这个参数可以是空的,这相当于一个空的Map。
IllegalArgumentException
-如果
url
是空的。
public RMIConnector(RMIServer rmiServer, Map<String,?> environment)
构建了一个RMIConnector
RMI存根。
rmiServer
- RMI存根代表RMI连接器服务器。
environment
附加属性指定如何连接。这个参数可以是空的,这相当于一个空的Map。
IllegalArgumentException
-如果
rmiServer
是空的。
public String toString()
返回此对象的字符串表示形式。总的来说,这toString
方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但翔实的代表性,是一个容易阅读的人。
public JMXServiceURL getAddress()
该连接器的地址。
getAddress
接口
JMXAddressable
public void connect() throws IOException
JMXConnector
建立连接到连接器服务器。这种方法相当于connect(null)
。
connect
接口
JMXConnector
IOException
-如果连接不能因为沟通问题,或在
iiop
协议的情况下,那RMI/IIOP是不支持的
public void connect(Map<String,?> environment) throws IOException
JMXConnector
建立连接到连接器服务器。
如果connect
已经成功调用这个对象,调用了没有效果。如果,然而,JMXConnector.close()
被称为connect
后,新connect
将抛出一个IOException
。
否则,要么connect
从未被称为这个对象,或被称为但产生异常。然后调用connect
将试图建立一个连接服务器的连接。
connect
接口
JMXConnector
environment
-连接的性能。性在这Map覆盖性能中图
JMXConnector
创建时指定,如果任何。这个参数可以是空的,这相当于一个空的Map。
IOException
-如果连接不能因为沟通问题,或在
iiop
协议的情况下,那RMI/IIOP是不支持的
public String getConnectionId() throws IOException
JMXConnector
从连接器服务器获取此连接的身份证。对于一个给定的连接器服务器,每一个连接都将有一个唯一的标识,在连接的生命期内不会改变。
getConnectionId
接口
JMXConnector
JMXConnectionNotification
s相同,
package description
描述连接IDS的公约。
IOException
-如果连接ID不能获得,例如由于连接被关闭或断开。
public MBeanServerConnection getMBeanServerConnection() throws IOException
JMXConnector
返回一个MBeanServerConnection
对象代表一个远程管理服务器。对于一个给定的JMXConnector
,两成功调用这个方法通常会返回相同的MBeanServerConnection
对象,尽管这不是必须的。
每个方法的返回MBeanServerConnection
,调用方法使相应的方法被称为远程管理服务器。该值由MBean服务器的方法返回的值返回给客户端。如果MBean服务器的方法产生一个异常
,相同的异常
被客户看见。如果MBean服务器的方法,或尝试调用它,产生一个Error
,的Error
包在一个JMXServerErrorException
,这被客户看见。
调用此方法相当于调用getMBeanServerConnection(null)
意味着没有代表团主体是特定的,所有的行动呼吁MBeanServerConnection
必须使用经过认证的主体,如果任何。
getMBeanServerConnection
接口
JMXConnector
MBeanServerConnection
转发到远程管理服务器对象。
IOException
-如果一个有效的
MBeanServerConnection
不能创造,例如因为远程MBean服务器的连接尚未建立(与
connect
法),或已关闭,或已破碎。
public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
JMXConnector
返回一个MBeanServerConnection
对象代表一个MBean服务器上远程操作对供给主体进行授权代表。对于一个给定的JMXConnector
和Subject
,两成功调用这个方法通常会返回相同的MBeanServerConnection
对象,尽管这不是必须的。
每个方法的返回MBeanServerConnection
,调用方法使相应的方法是在给定的主题而不是认证代表团代表MBean服务器调用远程对象。该值由MBean服务器的方法返回的值返回给客户端。如果MBean服务器的方法产生一个异常
,相同的异常
被客户看见。如果MBean服务器的方法,或尝试调用它,产生一个Error
,的Error
包在一个JMXServerErrorException
,这被客户看见。
getMBeanServerConnection
接口
JMXConnector
delegationSubject
-代表要求将进行
Subject
。可以为空,在这种情况下,请求将被执行的身份验证的主题,如果有。
MBeanServerConnection
转发到远程管理服务器上的一个给定的对象主体代表团。
IOException
-如果一个有效的
MBeanServerConnection
不能创造,例如因为远程MBean服务器的连接尚未建立(与
connect
法),或已关闭,或已破碎。
public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnector
添加一个侦听器以获知连接状态的更改。听者接收型JMXConnectionNotification
通知。一个实现也可以发送其他类型的通知。
可以添加任何数量的侦听器。相同的听众可以增加超过一次的滤波器和盖印相同或不同的价值观。没有一个重复的条目的特殊处理。例如,如果一个监听器注册两次没有过滤器,然后handleNotification
方法将被调用两次每个通知。
addConnectionNotificationListener
接口
JMXConnector
listener
-监听器接收连接状态通知。
filter
-过滤器选择的通知必须交给听众,或null如果所有通知都将交付。
handback
物体给听者随着每个通知。可以为空。
JMXConnector.removeConnectionNotificationListener(javax.management.NotificationListener)
,
NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnector
从列表中移除一个侦听器,以获知状态的更改。听众必须先前已被添加。如果有一个以上的匹配侦听器,所有都被删除。
removeConnectionNotificationListener
接口
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
从列表中移除一个侦听器,以获知状态的更改。侦听器必须以前已添加相同的三个参数。如果有一个以上的匹配侦听器,只有一个被删除。
removeConnectionNotificationListener
接口
JMXConnector
listener
-监听器接收连接状态通知。
filter
-过滤器选择的通知送到听众。可以为空。
handback
物体给听者随着每个通知。可以为空。
ListenerNotFoundException
如果听者是不是与此
JMXConnector
注册,或不与给定的滤波器和盖印注册。
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
关闭客户端连接到它的服务器。任何正在进行的或新的要求使用mbeanserverconnection返回JMXConnector.getMBeanServerConnection()
将得到一个IOException
。
如果close
已经成功调用这个对象,调用了没有效果。如果close
从来没有叫,或如果它被称为可产生异常,将尝试关闭连接。这种尝试能够成功,在这种情况下,close
将回归正常,也可以产生一个异常。
关闭一个连接是一个潜在的缓慢操作。例如,如果服务器已崩溃,关闭操作可能需要等待网络协议超时。不想阻塞关闭操作的调用方应在另一个线程中这样做。
close
接口
Closeable
close
接口
AutoCloseable
close
接口
JMXConnector
IOException
-如果连接无法关闭干净。如果抛出此异常,则不知道连接的服务器端是否已完全关闭。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.