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, setLog
protected 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.