java.lang.Objectjavax.management.remote.rmi.RMIConnectionImpl
public class RMIConnectionImpl
RMIConnection
接口的实现。用户代码不经常引用此类。
构造方法摘要 | |
---|---|
RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env) 构造新的 RMIConnection 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
RMIConnection
。此连接即可与 JRMP 一起使用,也可与 IIOP 传输一起使用。此对象并不导出其自身:应由调用者将其适当地导出(请参阅
RMIJRMPServerImpl.makeClient(String,Subject)
和
RMIIIOPServerImpl.makeClient(String,Subject)
)。
rmiServer
- 为其创建此连接的 RMIServerImpl 对象。如果该参数为 null,则行为不明确。
connectionId
- 该连接的 ID。如果该参数为 null,则行为不明确。
defaultClassLoader
- 将在反序列化编组对象时使用的默认 ClassLoader。可以为 null,表示引导类加载器。
subject
- 将供授权使用的经验证的主题。可以为 null,表示尚未验证任何主题。
env
- 包含新的
RMIServerImpl
属性的环境。可以为 null,等效于一个空映射。
方法详细信息 |
---|
public String getConnectionId() throws IOException
RMIConnection
复制的描述
返回连接 ID。对于每个到给定的 RMI 连接器服务器的开放连接,此字符串都不相同。
RMIConnection
中的
getConnectionId
IOException
- 如果出现通用通信异常。
RMIConnector.connect
public void close() throws IOException
RMIConnection
复制的描述
关闭此连接。从此方法返回时,不导出实现此接口的 RMI 对象,因此对它的进一步远程调用将失败。
Closeable
中的
close
RMIConnection
中的
close
IOException
- 如果无法关闭连接,或 Remote 对象无法被导出,或者在传输远程关闭请求时出现通信故障。
public void unreferenced()
Unreferenced
复制的描述
Unreferenced
中的
unreferenced
public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
RMIConnection
复制的描述
MBeanServerConnection.createMBean(String, ObjectName)
方法。
RMIConnection
中的
createMBean
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。
IOException
- 如果出现通用通信异常。
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
RMIConnection
复制的描述
MBeanServerConnection.createMBean(String, ObjectName, ObjectName)
方法。
RMIConnection
中的
createMBean
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 服务器中注册。
IOException
- 如果出现通用通信异常。
public ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
RMIConnection
复制的描述
MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])
方法。
Object[]
参数包装在
MarshalledObject
中。
RMIConnection
中的
createMBean
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。
IOException
- 如果出现通用通信异常。
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
RMIConnection
复制的描述
MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[])
方法。
Object[]
参数包装在
MarshalledObject
中。
RMIConnection
中的
createMBean
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 的构造方法已抛出异常。