public class UnicastRemoteObject extends RemoteServer
rmic工具。
反对:静态存根。支持静态生成的存根是过时的。这包括在这一类需要使用静态存根的API,以及静态存根加载的运行时支持。动态生成的存根是首选,使用五个非过时的出口对象的方法如下。不要运行rmic生成静态存根类。这是不必要的,也是不。
导出远程对象的方法有六种:
UnicastRemoteObject和UnicastRemoteObject()构造函数调用。UnicastRemoteObject和UnicastRemoteObject(port)构造函数调用。UnicastRemoteObject和UnicastRemoteObject(port, csf, ssf)构造函数调用。exportObject(Remote)方法调用。过时的。exportObject(Remote, port)方法调用。exportObject(Remote, port, csf, ssf)方法调用。第四技术,exportObject(Remote),总是使用静态生成的存根和已过时。
其他五种技术都使用下面的方法:如果java.rmi.server.ignoreStubClasses属性true(不区分大小写)或者静态存根无法找到存根动态使用Proxy对象产生。否则,使用静态存根。
该java.rmi.server.ignoreStubClasses属性的默认值是false。
静态生成的存根通常是预先生成的从远程对象的类使用rmic工具。加载一个静态存根,并构造一个存根类的实例如下所述。
Remote,然后远程对象的类是根类;否则,根类派生的类是最该远程对象的类实现一个接口直接延伸Remote。_Stub根类的二进制名称确定。RemoteStub,必须有一个具有一个参数的公共构造函数RemoteRef型。RemoteRef构造。StubNotFoundException抛出。存根是通过构建具有以下特征的Proxy实例动态生成:
RemoteObjectInvocationHandler实例与RemoteRef构造。StubNotFoundException将抛出。RMISocketFactory可用于创建套接字。默认情况下,服务器套接字创建
RMISocketFactory监听所有网络接口。看到
RMISocketFactory类在
Java RMI Specification截面
RMI Socket Factories。
ref| Modifier | Constructor and Description |
|---|---|
protected |
UnicastRemoteObject()
制造和出口的一个新unicastremoteobject对象使用匿名端口。
|
protected |
UnicastRemoteObject(int port)
制造和出口的一个新unicastremoteobject对象使用特别提供的端口。
|
protected |
UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
制造和出口的一个新unicastremoteobject对象使用特定端口和套接字工厂提供。
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
返回与原始的远程对象的克隆。
|
static RemoteStub |
exportObject(Remote obj)
过时的。
这种方法已经过时了,它只支持静态存根。使用
exportObject(Remote, port)或exportObject(Remote, port, csf, ssf)相反。
|
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运行时。
|
getClientHost, getLog, setLogprotected UnicastRemoteObject()
throws RemoteException
对象是一个服务器端的套接字出口使用RMISocketFactory类创建。
RemoteException -如果没有出口对象
protected UnicastRemoteObject(int port)
throws RemoteException
对象是一个服务器端的套接字出口使用RMISocketFactory类创建。
port -端口号上的远程对象接收电话(如果
port是零,一个匿名的端口选择)
RemoteException -如果没有出口对象
protected UnicastRemoteObject(int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
throws RemoteException
也可以null插座厂,在这种情况下,相应的客户端或服务器套接字的创建方法RMISocketFactory代替。
port -端口号上的远程对象接收电话(如果
port是零,一个匿名的端口选择)
csf -调用远程对象的客户端套接字工厂
ssf -接收远程调用服务器端套接字工厂
RemoteException -如果没有出口对象
public Object clone() throws CloneNotSupportedException
clone 方法重写,继承类
Object
CloneNotSupportedException如果由于一个异常克隆失败。
Cloneable
@Deprecated public static RemoteStub exportObject(Remote obj) throws RemoteException
exportObject(Remote, port)或exportObject(Remote, port, csf, ssf)相反。
对象是一个服务器端的套接字出口使用RMISocketFactory类创建。
obj -出口远程对象
RemoteException
public static Remote exportObject(Remote obj, int port) throws RemoteException
对象是一个服务器端的套接字出口使用RMISocketFactory类创建。
obj -出口远程对象
port -出口对象的端口
RemoteException
public static Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
也可以null插座厂,在这种情况下,相应的客户端或服务器套接字的创建方法RMISocketFactory代替。
obj -出口远程对象
port -出口对象的端口
csf -调用远程对象的客户端套接字工厂
ssf -接收远程调用服务器端套接字工厂
RemoteException
public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj -被导出,远程对象
force -如果是真的,unexports对象即使有未决或进行调用;如果为假,只有unexports对象如果没有待定或进行电话
NoSuchObjectException -如果远程对象目前不出口
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.