模块
java.rmi
Package java.rmi
提供RMI包。
RMI是远程方法调用。
它是一种机制,使一个Java虚拟机上的对象能够调用另一个Java虚拟机中的对象上的方法。
可以通过这种方式调用的任何对象都必须实现Remote接口。
当调用这样的对象时,它的参数被“编组”并从本地虚拟机发送到远程参数,其中参数是“unmarshalled”。当方法终止时,结果从远程机器编组。并发送给呼叫者的虚拟机。
如果方法调用导致抛出异常,则向调用者指示异常。
- 从以下版本开始:
- 1.1
-
接口摘要 接口 描述 Remote Remote
接口用于标识可以从非本地虚拟机调用其方法的接口。 -
类摘要 类 描述 MarshalledObject<T> MarshalledObject
包含一个字节流,其中包含赋予其构造函数的对象的序列化表示。Naming Naming
类提供了用于存储和获取对远程对象注册表中的远程对象的引用的方法。RMISecurityManager Deprecated. UseSecurityManager
instead. -
异常摘要 异常 描述 AccessException 一个AccessException
通过一定的方法抛出java.rmi.Naming
类(具体bind
,rebind
,和unbind
)和方法java.rmi.activation.ActivationSystem
接口,以指示主叫方不必执行由方法调用所请求的操作。AlreadyBoundException 如果尝试将注册表中的对象绑定到已具有关联绑定的名称,则抛出AlreadyBoundException
。ConnectException 如果远程主机拒绝连接以进行远程方法调用,则抛出ConnectException
。ConnectIOException 如果在与远程主机建立连接以进行远程方法调用时发生ConnectIOException
则抛出IOException
。MarshalException 如果在编组远程调用头,参数或远程方法调用的返回值时发生MarshalException
则抛出java.io.IOException
。NoSuchObjectException 如果尝试在远程虚拟机中不再存在的对象上调用方法,则抛出NoSuchObjectException
。NotBoundException 如果尝试在注册表中查找或取消绑定没有关联绑定的名称,则抛出NotBoundException
。RemoteException RemoteException
是在执行远程方法调用期间可能发生的许多与通信相关的异常的公共超类。RMISecurityException Deprecated. UseSecurityException
instead.ServerError 甲ServerError
被抛出作为远程方法调用的结果,当一个Error
任而解编参数,执行远程方法本身,或编组返回值在处理服务器上的调用,被抛出。ServerException 当在处理服务器上的调用时抛出RemoteException
,在解组参数或执行远程方法本身时,抛出ServerException
作为远程方法调用的结果。ServerRuntimeException Deprecated. no replacementStubNotFoundException 如果在导出远程对象时找不到有效的存根类,则抛出StubNotFoundException
。UnexpectedException 一个UnexpectedException
被抛出如果远程方法调用的客户端接收,作为呼叫,检查异常不属于中声明的检查的异常类型的一个结果throws
在远程接口的方法的子句。UnknownHostException 如果在创建与远程主机的连接以进行远程方法调用时发生UnknownHostException
则抛出java.net.UnknownHostException
。UnmarshalException 如果出现以下任何一种情况,则在解组远程方法调用的参数或结果时可以抛出UnmarshalException
:如果在解组参数时,如果java.io.IOException
发生解组参数,则返回值的协议无效时解组调用头时发生异常服务器端)或返回值(在客户端)。