java.lang.Objectjava.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 - 如果当前未导出远程对象