javax.rmi

java.lang.Object
  继承者 javax.rmi.PortableRemoteObject

public class PortableRemoteObject
     
extends Object

服务器实现对象可以从 javax.rmi.PortableRemoteObject 继承,也可以实现一个远程接口,然后使用 exportObject 方法将其本身注册为服务器对象。toStub 方法采用服务器实现,并返回一个可用于访问该服务器对象的 stub。连接方法使 Remote 对象准备好进行远程通信。unexportObject 方法用于注销服务器对象,使之可用于垃圾回收。narrow 方法采用一个对象引用或抽象接口类型,并尝试使其变窄以适合给定的接口。如果该操作成功,结果将是一个指定类型的对象,否则将抛出一个异常。


构造方法摘要
protected PortableRemoteObject()
          通过调用 exportObject(this) 初始化该对象。
 
方法摘要
static void connect(Remote target, Remote source)
          使 Remote 对象准备好进行远程通信。
static void exportObject(Remote obj)
          准备服务器对象,以接收远程调用。
static Object narrow(Object narrowFrom, Class narrowTo)
          检查以确保远程或抽象接口类型的对象可以强制转换为所需的类型。
static Remote toStub(Remote obj)
          返回给定服务器对象的 stub。
static void unexportObject(Remote obj)
          从运行时注销服务器对象,允许对象用于垃圾回收。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

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
返回给定服务器对象的 stub。

参数:
obj - 需要 stub 的服务器对象。必须为 PortableRemoteObject 的一个子类,或者以前已经是调用 exportObject(java.rmi.Remote) 的目标。
返回:
该对象的最常派生的 stub。
抛出:
NoSuchObjectException - 如果找不到给定服务器对象的 stub。

unexportObject

public static void unexportObject(Remote obj)
                           throws NoSuchObjectException
从运行时注销服务器对象,允许对象用于垃圾回收。

参数:
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
使 Remote 对象准备好进行远程通信。在远程方法调用上,当对象作为一个参数发送或接收时,这通常是隐式发生的,但是在某些情况下,通过进行显式调用执行此操作较为有用。有关更多信息,请参阅 Stub#connect 方法。

参数:
target - 要连接的对象。
source - 以前连接的对象。
抛出:
RemoteException - 如果 source 未连接,或者如果 target 已经连接到与 source 不同的 ORB。