- java.lang.Object
-
- javax.rmi.PortableRemoteObject
-
public class PortableRemoteObject extends Object
服务器实现对象可以从javax.rmi.PortableRemoteObject继承,也可以实现远程接口,然后使用exportObject方法将自身注册为服务对象。 toStub方法接受服务器实现,并返回可用于访问该服务器对象的存根。 连接方法使远程对象准备好进行远程通信。 unreportObject方法用于注销服务器对象,使其可用于垃圾回收。 窄方法采用对象引用或抽象接口类型,并尝试缩小它以符合给定的接口。 如果操作成功,结果将是指定类型的对象,否则将抛出异常。
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
PortableRemoteObject()
通过调用exportObject(this)
初始化对象。
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static void
connect(Remote target, Remote source)
使远程对象准备好进行远程通信。static void
exportObject(Remote obj)
使服务器对象准备好接收远程调用。static Object
narrow(Object narrowFrom, Class narrowTo)
检查以确保远程或抽象接口类型的对象可以转换为所需类型。static Remote
toStub(Remote obj)
返回给定服务器对象的存根。static void
unexportObject(Remote obj)
从运行时取消注册服务器对象,允许对象可用于垃圾回收。
-
-
-
构造方法详细信息
-
PortableRemoteObject
protected PortableRemoteObject() throws RemoteException
通过调用exportObject(this)
初始化对象。- 异常
-
RemoteException
- 如果导出失败。
-
-
方法详细信息
-
exportObject
public static void exportObject(Remote obj) throws RemoteException
使服务器对象准备好接收远程调用。 请注意,PortableRemoteObject的子类不需要调用此方法,因为它由构造函数调用。- 参数
-
obj
- 要导出的服务器对象。 - 异常
-
RemoteException
- 如果导出失败。
-
toStub
public static Remote toStub(Remote obj) throws NoSuchObjectException
返回给定服务器对象的存根。- 参数
-
obj
- 需要存根的服务器对象。 必须是PortableRemoteObject的子类,或者以前是exportObject(java.rmi.Remote)
的调用目标。 - 结果
- 对象的最导出的存根。
- 异常
-
NoSuchObjectException
- 如果给定的服务器对象不能找到存根。
-
unexportObject
public static void unexportObject(Remote obj) throws NoSuchObjectException
从运行时取消注册服务器对象,允许对象可用于垃圾回收。- 参数
-
obj
- 要obj
导出的对象。 - 异常
-
NoSuchObjectException
- 如果远程对象当前未导出。
-
narrow
public static Object narrow(Object narrowFrom, Class narrowTo) throws ClassCastException
检查以确保远程或抽象接口类型的对象可以转换为所需类型。- 参数
-
narrowFrom
- 要检查的对象。 -
narrowTo
- 所需类型。 - 结果
- 可以将其投射到所需类型的对象。
- 异常
-
ClassCastException
- 如果narrowFrom不能被转换为narrowTo。
-
connect
public static void connect(Remote target, Remote source) throws RemoteException
使远程对象准备好进行远程通信。 这通常在对象作为远程方法调用的参数发送或接收时隐含发生,但在某些情况下,通过进行显式调用来执行此操作是有用的。 有关详细信息,请参阅Stub.connect(org.omg.CORBA.ORB)
方法。- 参数
-
target
- 要连接的对象。 -
source
- 以前连接的对象。 - 异常
-
RemoteException
- 如果source
未连接,或者如果target
已经连接到不同的ORB比source
。
-
-