dynamicremotestub.java

来自「最新的关于精通rmi这本书的源码」· Java 代码 · 共 47 行

JAVA
47
字号
/*
 * Copyright 1999 by dreamBean Software,
 * All rights reserved.
 */
package smartproxy.proxies;

import java.io.ObjectStreamException;
import java.rmi.MarshalledObject;
import java.rmi.RemoteException;
import java.rmi.server.RemoteStub;
import java.rmi.server.RemoteRef;

import smartproxy.dynamic.Handler;

/**
 *    Generic remote stub for dynamic proxies. The RMI system uses
 *    this during the export process, but when it is sent to the clients
 *    it is replaced with a dynamic proxy that wraps it.
 *
 *   @author Rickard 謆erg (rickard@dreambean.com)
 */
public class DynamicRemoteStub
   extends RemoteStub
{
   // Constructors --------------------------------------------------
   Class cl;
   
   public DynamicRemoteStub(RemoteRef ref)
   {
      super(ref);
      cl = Handler.getCurrentClass();
   }
   
   // Serializable implementation -----------------------------------
   Object readResolve() throws ObjectStreamException
   {
      if (cl == null) 
         return this;
      else
      {
         Object obj = smartproxy.proxies.DynamicStubHandler.resolve(this, cl);
         cl = null;
         return obj;   
      }
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?