Module  java.corba
软件包  javax.rmi

Class PortableRemoteObject



  • public class PortableRemoteObject
    extends Object
    服务器实现对象可以从javax.rmi.PortableRemoteObject继承,也可以实现远程接口,然后使用exportObject方法将自身注册为服务对象。 toStub方法接受服务器实现,并返回可用于访问该服务器对象的存根。 连接方法使远程对象准备好进行远程通信。 unreportObject方法用于注销服务器对象,使其可用于垃圾回收。 窄方法采用对象引用或抽象接口类型,并尝试缩小它以符合给定的接口。 如果操作成功,结果将是指定类型的对象,否则将抛出异常。

    参见RMI-IIOP developer's guides

    • 构造方法详细信息

      • PortableRemoteObject

        protected PortableRemoteObject​()
                                throws RemoteException
        通过调用 exportObject(this)初始化对象。
        异常
        RemoteException - 如果导出失败。
    • 方法详细信息

      • exportObject

        public static void exportObject​(Remote obj)
                                 throws RemoteException
        使服务器对象准备好接收远程调用。 请注意,PortableRemoteObject的子类不需要调用此方法,因为它由构造函数调用。
        参数
        obj - 要导出的服务器对象。
        异常
        RemoteException - 如果导出失败。
      • 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