java.lang.Object java.rmi.server.RemoteObject java.rmi.server.RemoteServer java.rmi.server.UnicastRemoteObject
public class UnicastRemoteObject
用于导出带 JRMP 的远程对象和获得与该远程对象通信的 stub。
对于下面的构造方法和静态 exportObject
方法,正在导出的远程对象的 stub 按以下方式获得:
UnicastRemoteObject.exportObject(Remote)
方法导出该远程对象,则加载 stub 类(通常使用 rmic
工具从远程对象的类预生成)并按以下方式构造 stub 类的实例。
Remote
的接口,则远程对象的类为根类;否则,根类为直接实现扩展 Remote
接口的远程对象类的最具派生能力的超类。 "_Stub"
的根类的二进制名称确定。 RemoteStub
并且必须有公共构造方法,该构造方法有一个属于类型 RemoteRef
的参数。 RemoteRef
构造 stub 类的实例。 StubNotFoundException
。
java.rmi.server.ignoreStubClasses
设置为 "true"
(不分大小写),则用以下属性构造 Proxy
实例:
RemoteRef
构造的 RemoteObjectInvocationHandler
实例。 StubNotFoundException
。
字段摘要 |
---|
从类 java.rmi.server.RemoteObject 继承的字段 |
---|
ref |
构造方法摘要 | |
---|---|
protected |
UnicastRemoteObject() 使用匿名端口创建并导出一个新 UnicastRemoteObject 对象。 |
protected |
UnicastRemoteObject(int port) 使用提供的特定端口创建并导出一个新 UnicastRemoteObject 对象。 |
protected |
UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) 使用提供的特定端口和套接字工厂创建并导出一个新 UnicastRemoteObject 对象。 |
方法摘要 | |
---|---|
Object |
clone() 返回与初始对象不同的远程对象的副本。 |
static RemoteStub |
exportObject(Remote obj) 使用匿名端口导出远程对象,以便能够接收传入的调用。 |
static Remote |
exportObject(Remote obj, int port) 使用提供的特定端口导出远程对象,以便能够接收传入的调用。 |
static Remote |
exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) 使用由给定的套接字工厂指定的传送方式导出远程对象,以便能够接收传入的调用。 |
static boolean |
unexportObject(Remote obj, boolean force) 从 RMI 运行时移除远程对象 obj。 |
从类 java.rmi.server.RemoteServer 继承的方法 |
---|
getClientHost, getLog, setLog |
从类 java.rmi.server.RemoteObject 继承的方法 |
---|
equals, getRef, hashCode, toString, toStub |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
protected UnicastRemoteObject() throws RemoteException
RemoteException
- 如果导出对象失败
protected UnicastRemoteObject(int port) throws RemoteException
port
- 远程对象在其上接收调用的端口号(如果
port
为 0,则选择匿名端口)
RemoteException
- 如果导出对象失败
protected UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
port
- 远程对象在其上接收调用的端口号(如果
port
为 0,则选择匿名端口)
csf
- 用于调用远程对象的客户端套接字工厂
ssf
- 用于接收远程调用的服务器端套接字工厂
RemoteException
- 如果导出对象失败
方法详细信息 |
---|
public Object clone() throws CloneNotSupportedException
CloneNotSupportedException
- 如果因为 RemoteException 复制失败。
Cloneable
public static RemoteStub exportObject(Remote obj) throws RemoteException
obj
- 要导出的远程对象
RemoteException
- 如果导出失败
public static Remote exportObject(Remote obj, int port) throws RemoteException
obj
- 要导出的远程对象
port
- 要在其上导出对象的端口
RemoteException
- 如果导出失败
public static Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
obj
- 要导出的远程对象
port
- 在其上导出对象的端口
csf
- 用于调用远程对象的客户端套接字工厂
ssf
- 用于接收远程调用的服务器端套接字工厂
RemoteException
- 如果导出失败
public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj
- 将不导出的远程对象
force
- 如果为 true,则即便挂起或正在进行调用也不导出对象;如果为 false,则只有在不挂起或未进行调用时才不导出对象
NoSuchObjectException
- 如果当前未导出远程对象