模块 java.rmi
包 java.rmi
包java.rmi
提供RMI包。 RMI 是远程方法调用。它是一种机制,使一个 Java 虚拟机上的对象能够调用另一个 Java 虚拟机中对象的方法。任何可以这种方式调用的对象都必须实现 Remote 接口。当这样一个对象被调用时,它的参数被“编组”并从本地虚拟机发送到远程虚拟机,其中参数被“解组”。当方法终止时,结果从远程机器被编组并发送到调用者的虚拟机。如果方法调用导致抛出异常,则将异常指示给调用者。
- 自从:
- 1.1
-
类描述
java.rmi.Naming
类的某些方法(特别是bind
、rebind
和unbind
)会抛出AccessException
,以指示调用者无权执行方法调用请求的操作。如果尝试将对象绑定到注册表中已有关联绑定的名称,则会抛出AlreadyBoundException
。如果拒绝连接到远程主机以进行远程方法调用,则会抛出ConnectException
。如果在连接到远程主机以进行远程方法调用时发生IOException
,则会抛出ConnectIOException
。如果在编组远程调用标头、参数或远程方法调用的返回值时发生java.io.IOException
,则会抛出MarshalException
。MarshalledObject <T>MarshalledObject
包含一个字节流,其中包含提供给其构造函数的对象的序列化表示。Naming
类提供了在远程对象注册表中存储和获取对远程对象的引用的方法。如果尝试在远程虚拟机中不再存在的对象上调用方法,则会抛出NoSuchObjectException
。如果尝试在注册表中查找或取消绑定没有关联绑定的名称,则会抛出NotBoundException
。Remote
接口用于识别可以从非本地虚拟机调用其方法的接口。RemoteException
是在执行远程方法调用期间可能发生的许多与通信相关的异常的公共超类。已弃用。已弃用,将被删除:此 API 元素可能会在未来版本中删除。此类仅与 安全管理器 结合使用,后者已弃用并会在未来版本中删除。当在服务上处理调用时抛出Error
时,抛出ServerError
作为远程方法调用的结果,在解组参数、执行远程方法本身或编组返回值时。当RemoteException
在服务上处理调用时抛出ServerException
作为远程方法调用的结果,在解组参数或执行远程方法本身时。已弃用。没有替代品如果在导出远程对象时找不到有效的存根类,则会抛出StubNotFoundException
。如果远程方法调用的客户端作为调用结果接收到一个已检查异常,但该检查异常不在远程接口方法的throws
子句中声明的已检查异常类型中,则抛出UnexpectedException
。如果在为远程方法调用创建到远程主机的连接时发生java.net.UnknownHostException
,则会抛出UnknownHostException
。如果发生以下任何情况,则在解组远程方法调用的参数或结果时可能会抛出UnmarshalException
: 如果在解组调用标头时发生异常 如果返回值的协议无效 如果发生java.io.IOException
解组参数(在服务端)或返回值(在客户端)。
SecurityException
。