|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.management.remote.rmi
接口 RMIConnection
- 所有超级接口:
- Remote
- 所有已知实现类:
- RMIConnectionImpl, RMIConnectionImpl_Stub
-
public interface RMIConnection
- extends Remote
RMI 对象,用于将 MBeanServer 请求从客户端转发到其位于服务器端的 MBeanServer 实现。连接到 RMI 连接器的每个远程客户端都有一个实现此接口的 Remote 对象。
用户代码不经常引用此接口。它作为公用 API 的一部分指定,便于该 API 的不同实现之间实现互操作。
为确保用正确的类加载器将客户端参数在服务器端反序列化,客户端参数(例如,用于调用方法的参数)包装在 MarshalledObject
方法中。此接口的实现必须首先获得适用于操作及其目标的适当的类加载器,然后用该类加载器反序列化编组的参数。除非另外说明,MarshalledObject
或 MarshalledObject[]
类型的参数必定不为 null;如果参数为 null,则行为不明确。
有关类加载的内容在辅助文档 JMX Remote API 进行了详细的描述,它是对本文档的补充。本 Javadoc 规范所在的位置应包含它的 PDF 文档。
- 从以下版本开始:
- 1.5
方法详细信息 |
---|
getConnectionId
String getConnectionId() throws IOException
-
返回连接 ID。对于每个到给定的 RMI 连接器服务器的开放连接,此字符串都不相同。
-
-
- 返回:
- 连接 ID
- 抛出:
-
IOException
- 如果出现通用通信异常。 - 另请参见:
-
RMIConnector.connect
close
void close() throws IOException
-
关闭此连接。从此方法返回时,不导出实现此接口的 RMI 对象,因此对它的进一步远程调用将失败。
-
-
- 抛出:
-
IOException
- 如果无法关闭连接,或 Remote 对象无法被导出,或者在传输远程关闭请求时出现通信故障。
createMBean
ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
-
处理
MBeanServerConnection.createMBean(String, ObjectName)
方法。 -
-
- 参数:
-
className
- 要实例化的 MBean 的类名称。 -
name
- MBean 的对象名。可以为 null。 -
delegationSubject
- 包含委托 principal 的Subject
,如果使用了验证 principal,则为null
。 - 返回:
-
ObjectInstance
,它包含新实例化的 MBean 的ObjectName
和 Java 类名。如果所包含的ObjectName
为n
,则所包含的 Java 类名为
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 在尝试调用 MBean 的构造方法的过程中出现的、包装了java.lang.ClassNotFoundException
或java.lang.Exception
的异常。 -
InstanceAlreadyExistsException
- MBean 已处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法已抛出异常。不对 MBean 进行注册。 -
MBeanException
- MBean 的构造方法已抛出异常。 -
NotCompliantMBeanException
- 该类不是一个遵守 JMX 的 MBean。 -
RuntimeOperationsException
- 包装了java.lang.IllegalArgumentException
:className 传入的参数为 null,ObjectName
传入的参数包含模式或未为 MBean 指定任何ObjectName
。 -
SecurityException
- 如果客户端或委托的 Subject(如果有)没有执行此操作的权限。 -
IOException
- 如果出现通用通信异常。
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
-
处理
MBeanServerConnection.createMBean(String, ObjectName, ObjectName)
方法。 -
-
- 参数:
-
className
- 要实例化的 MBean 的类名称。 -
name
- MBean 的对象名。可以为 null。 -
loaderName
- 要使用的类加载器的对象名。 -
delegationSubject
- 包含委托 principal 的Subject
,如果使用了验证 principal,则为null
。 - 返回:
-
ObjectInstance
,它包含新实例化的 MBean 的ObjectName
和 Java 类名。如果所包含的ObjectName
为n
,则所包含的 Java 类名为
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 在尝试调用 MBean 的构造方法的过程中出现的、包装了java.lang.ClassNotFoundException
或java.lang.Exception
的异常。 -
InstanceAlreadyExistsException
- MBean 已处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法已抛出异常。不对 MBean 进行注册。 -
MBeanException
- MBean 的构造方法已抛出异常。 -
NotCompliantMBeanException
- 该类不是一个遵守 JMX 的 MBean。 -
InstanceNotFoundException
- 指定的类加载器未在 MBean 服务器中注册。 -
RuntimeOperationsException
- 包装了java.lang.IllegalArgumentException
:className 传入的参数为 null,ObjectName
传入的参数包含模式或未为 MBean 指定任何ObjectName
。 -
SecurityException
- 如果客户端或委托的 Subject(如果有)没有执行此操作的权限。 -
IOException
- 如果出现通用通信异常。
createMBean
ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
-
处理
MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])
方法。Object[]
参数包装在MarshalledObject
中。 -
-
- 参数:
-
className
- 要实例化的 MBean 的类名称。 -
name
- MBean 的对象名。可以为 null。 -
params
- 包含要调用的构造方法的参数的数组,数组封装在MarshalledObject
中。封装的数组可以为 null,其等效于一个空数组。 -
signature
- 包含要调用的构造方法的签名的数组。可以为 null,等效于一个空数组。 -
delegationSubject
- 包含委托 principal 的Subject
,如果使用了验证 principal,则为null
。 - 返回:
-
ObjectInstance
,它包含新实例化的 MBean 的ObjectName
和 Java 类名。如果所包含的ObjectName
为n
,则所包含的 Java 类名为
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 在尝试调用 MBean 的构造方法的过程中出现的、包装了java.lang.ClassNotFoundException
或java.lang.Exception
的异常。 -
InstanceAlreadyExistsException
- MBean 已处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法已抛出异常。不对 MBean 进行注册。 -
MBeanException
- MBean 的构造方法已抛出异常。 -
NotCompliantMBeanException
- 该类不是一个遵守 JMX 的 MBean。 -
RuntimeOperationsException
- 包装了java.lang.IllegalArgumentException
:className 传入的参数为 null,ObjectName
传入的参数包含一个模式,或未为 MBean 指定任何ObjectName
。 -
SecurityException
- 如果客户端或委托的 Subject(如果有)没有执行此操作的权限。 -
IOException
- 如果出现通用通信异常。
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
-
处理
MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[])
方法。Object[]
参数包装在MarshalledObject
中。 -
-
- 参数:
-
className
- 要实例化的 MBean 的类名称。 -
name
- MBean 的对象名。可以为 null。 -
loaderName
- 要使用的类加载器的对象名。 -
params
- 包含要调用的构造方法的参数的数组,数组封装在MarshalledObject
中。封装的数组可以为 null,其等效于一个空数组。 -
signature
- 包含要调用的构造方法的签名的数组。可以为 null,等效于一个空数组。 -
delegationSubject
- 包含委托 principal 的Subject
,如果使用了验证 principal,则为null
。 - 返回:
-
ObjectInstance
,它包含新实例化的 MBean 的ObjectName
和 Java 类名。如果所包含的ObjectName
为n
,则所包含的 Java 类名为
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 在尝试调用 MBean 的构造方法的过程中出现的、包装了java.lang.ClassNotFoundException
或java.lang.Exception
的异常。 -
InstanceAlreadyExistsException
- MBean 已处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法已抛出异常。不对 MBean 进行注册。 -
MBeanException
- MBean 的构造方法已抛出异常。 -
NotCompliantMBeanException
- 该类不是一个遵守 JMX 的 MBean。 -
InstanceNotFoundException
- 指定的类加载器未在 MBean 服务器中注册。 -
RuntimeOperationsException
- 包装了java.lang.IllegalArgumentException
:className 传入的参数为 null,ObjectName
传入的参数包含一个模式,或未为 MBean 指定任何ObjectName
。 -
SecurityException
- 如果客户端或委托的 Subject(如果有)没有执行此操作的权限。 -
IOException
- 如果出现通用通信异常。
unregisterMBean
void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
-
处理
MBeanServerConnection.unregisterMBean(ObjectName)
方法。 -
-
- 参数:
-
name
- 要注册的 MBean 的对象名。 -
delegationSubject
- 包含委托 principal 的Subject
,如果使用了验证 principal,则为null
。 - 抛出:
-
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务器中注册。 -
MBeanRegistrationException
- MBean 的 preDeregister (MBeanRegistration
接口)方法已抛出异常。 -
RuntimeOperationsException
- 包装了java.lang.IllegalArgumentException
:参数中的对象名为 null 或您尝试注销的 MBean 为MBeanServerDelegate
MBean。 -
SecurityException
- 如果客户端或委托的 Subject(如果有)没有执行此操作的权限。 -
IOException
- 如果出现通用通信异常。