public abstract class Activatable extends RemoteServer
Activatable
类提供了远程对象,需要持久的存取时间,可以通过激活支持系统。
对于构造函数和静态exportObject
方法,为远程对象的存根出口得到了UnicastRemoteObject
。
试图将明确该类的实例将失败。
ref
Modifier | Constructor and Description |
---|---|
protected |
Activatable(ActivationID id, int port)
用于在指定的端口上激活/导出对象的构造函数。
|
protected |
Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
用于在指定的端口上激活/导出对象的构造函数。
|
protected |
Activatable(String location, MarshalledObject<?> data, boolean restart, int port)
通过注册激活描述符构建一个激活的远程对象(与指定的位置数据,并重新启动模式)为研究对象,并指定端口输出对象。
|
protected |
Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
通过注册激活描述符构建一个激活的远程对象(与指定的位置数据,并重新启动模式)为研究对象,并指定端口输出对象,并指定客户机和服务器套接字工厂。
|
Modifier and Type | Method and Description |
---|---|
static Remote |
exportObject(Remote obj, ActivationID id, int port)
出口可激活远程对象的RMI运行时使对象可以接收来电。
|
static Remote |
exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
出口可激活远程对象的RMI运行时使对象可以接收来电。
|
static ActivationID |
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port)
为指定的对象注册一个激活描述符(具有指定的位置、数据和重新启动模式),并用指定的端口输出对象。
|
static ActivationID |
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
为指定的对象注册一个激活描述符(具有指定的位置、数据和重新启动模式),并用指定的端口和指定的客户端和服务器套接字工厂输出对象。
|
protected ActivationID |
getID()
返回对象的激活标识符。
|
static boolean |
inactive(ActivationID id)
通知与相应的活化
id 对象激活系统。
|
static Remote |
register(ActivationDesc desc)
登记一个激活远程对象,一个对象描述符可以启动需求。
|
static boolean |
unexportObject(Remote obj, boolean force)
删除远程对象,对象,从RMI运行时。
|
static void |
unregister(ActivationID id)
撤销与
id 激活描述符之前的注册。
|
getClientHost, getLog, setLog
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
注:使用Activatable
构造函数,登记和出口可激活远程对象的强烈劝阻因为注册和出口远程对象的行为是不保证是原子。相反,应用程序应该注册一个激活描述符并分别导出一个远程对象,以便异常能够被正确处理。
此方法调用exportObject
方法与该对象,并指定位置,数据,启动模式,和端口。随后调用getID()
将激活标识符返回调用exportObject
。
location
的位置为该对象类
data
-对象的初始化数据
port
-端口上的对象是出口(匿名端口,如果端口= 0)
restart
-如果是真的,目的是重新启动(激活)时激活重新启动或对象的激活组是一个意外的崩溃后重新启动;如果为假,对象只是启动需求。指定要
true
不强迫一个新注册的对象的初始直接激活
restart
;初始激活懒惰。
ActivationException
如果对象注册失败。
RemoteException
如果下列失败:a)与激活系统或B注册对象)到RMI运行时输出对象。
UnsupportedOperationException
-当且仅当激活是不被实施的支持。
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
注:使用Activatable
构造函数,登记和出口可激活远程对象的强烈劝阻因为注册和出口远程对象的行为是不保证是原子。相反,应用程序应该注册一个激活描述符并分别导出一个远程对象,以便异常能够被正确处理。
此方法调用exportObject
方法与该对象,并指定位置,数据,启动模式,港口,和客户机和服务器套接字工厂。随后调用getID()
将激活标识符返回调用exportObject
。
location
的位置为该对象类
data
-对象的初始化数据
restart
-如果是真的,目的是重新启动(激活)时激活重新启动或对象的激活组是一个意外的崩溃后重新启动;如果为假,对象只是启动需求。指定要
true
不强迫一个新注册的对象的初始直接激活
restart
;初始激活懒惰。
port
-端口上的对象是出口(匿名端口,如果端口= 0)
csf
-调用远程对象的客户端套接字工厂
ssf
-接收远程调用服务器端套接字工厂
ActivationException
如果对象注册失败。
RemoteException
如果下列失败:a)与激活系统或B注册对象)到RMI运行时输出对象。
UnsupportedOperationException
-当且仅当激活是不被实施的支持。
protected Activatable(ActivationID id, int port) throws RemoteException
ActivationID
),并激活MarshalledObject
)。这个类的一个具体子类必须调用此构造函数时,激活通过上述两个参数的构造函数。作为一个副作用的建设,远程对象是“出口”到RMI运行时(在指定的port
)和可接受的客户来电。
id
为激活对象标识符
port
-上的对象是输出端口号
RemoteException
如果RMI运行时输出对象失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
protected Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
ActivationID
),并激活MarshalledObject
)。这个类的一个具体子类必须调用此构造函数时,激活通过上述两个参数的构造函数。作为一个副作用的建设,远程对象是“出口”到RMI运行时(在指定的port
)和可接受的客户来电。
id
为激活对象标识符
port
-上的对象是输出端口号
csf
-调用远程对象的客户端套接字工厂
ssf
-接收远程调用服务器端套接字工厂
RemoteException
如果RMI运行时输出对象失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
protected ActivationID getID()
public static Remote register(ActivationDesc desc) throws UnknownGroupException, ActivationException, RemoteException
desc
-对象的描述符
UnknownGroupException
-如果
desc
组ID不与激活系统注册
ActivationException
如果激活系统不运行
RemoteException
如果远程调用失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static boolean inactive(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
对象激活系统。如果对象是目前活跃的对象是“导出”从RMI运行时(如果没有挂起的或正在通话)所以它可以不再收到来电。这个电话通知该VM的activationgroup,对象是无效的,这,反过来,通知其activationmonitor。如果调用成功完成,随后的激活请求激活的物体会激活。手术可能仍然如果对象被认为是积极的但已经导出成功。
id
-对象的激活标识符
UnknownObjectException
如果对象是不知道(它可能已经无效)
ActivationException
如果组不活跃
RemoteException
如果电话通知班长失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static void unregister(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
激活描述符之前的注册。一个对象可以不再被激活,通过
id
。
id
-对象的激活标识符
UnknownObjectException
如果对象(
id
)是未知的
ActivationException
如果激活系统不运行
RemoteException
如果远程调用激活系统失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
注:使用这种方法(以及Activatable
构造函数,登记和出口可激活远程对象)的强烈劝阻因为注册和出口远程对象的行为是不保证是原子。相反,应用程序应该注册一个激活描述符并分别导出一个远程对象,以便异常能够被正确处理。
此方法调用exportObject
方法与指定的对象、地点、数据、启动模式,和端口,并null
为客户端和服务器端套接字工厂,然后返回激活标识符。
obj
-出口对象
location
-对象的代码位置
data
-对象的抽样数据
restart
-如果是真的,目的是重新启动(激活)时激活重新启动或对象的激活组是一个意外的崩溃后重新启动;如果为假,对象只是启动需求。指定要
true
不强迫一个新注册的对象的初始直接激活
restart
;初始激活懒惰。
port
-端口上的对象是出口(匿名端口,如果端口= 0)
desc
,与激活系统错误的组
ActivationException
如果激活组不活跃
RemoteException
如果对象注册或出口失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
注:使用这种方法(以及Activatable
构造函数,登记和出口可激活远程对象)的强烈劝阻因为注册和出口远程对象的行为是不保证是原子。相反,应用程序应该注册一个激活描述符并分别导出一个远程对象,以便异常能够被正确处理。
此方法首先为指定的对象注册一个激活描述符如下。获得激活系统通过调用方法ActivationGroup.getSystem
。这种方法得到的对象ActivationID
通过调用激活系统的registerObject
方法与ActivationDesc
与指定对象的类的名字了,和指定位置,数据,并重新启动模式。如果一个异常发生在获取激活系统或注册激活描述符,则向调用方抛出异常。
其次,该方法的出口对象通过调用exportObject
方法与指定的远程对象,获得注册标识符的激活,指定端口,和指定的客户机和服务器套接字工厂。如果出现异常的出口对象,注销该方法尝试激活标识符(从注册)通过调用激活系统的unregisterObject
方法与激活标识符。如果出现异常注销的标识符,该异常是不容忽视的,和发生的出口对象原来的异常抛给调用者。
最后,该方法调用和激活标识和指定的远程对象的激活在VM组activeObject
方法,并返回给调用者的标识激活。
obj
-出口对象
location
-对象的代码位置
data
-对象的抽样数据
restart
-如果是真的,目的是重新启动(激活)时激活重新启动或对象的激活组是一个意外的崩溃后重新启动;如果为假,对象只是启动需求。指定要
true
不强迫一个新注册的对象的初始直接激活
restart
;初始激活懒惰。
port
-端口上的对象是出口(匿名端口,如果端口= 0)
csf
-调用远程对象的客户端套接字工厂
ssf
-接收远程调用服务器端套接字工厂
ActivationException
如果激活组不活跃
RemoteException
如果对象注册或出口失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static Remote exportObject(Remote obj, ActivationID id, int port) throws RemoteException
port
是零。
在激活过程中,这exportObject
法应明确由一个“激活”对象调用,不延长Activatable
类。没有必要那样做延长Activatable
类直接调用这个方法的对象是因为出口在施工对象。
obj
-远程对象的实现
id
-对象的激活标识符
port
-端口上的对象是出口(匿名端口,如果端口= 0)
RemoteException
如果出口对象失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static Remote exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
port
是零。
在激活过程中,这exportObject
法应明确由一个“激活”对象调用,不延长Activatable
类。没有必要那样做延长Activatable
类直接调用这个方法的对象是因为出口在施工对象。
obj
-远程对象的实现
id
-对象的激活标识符
port
-端口上的对象是出口(匿名端口,如果端口= 0)
csf
-调用远程对象的客户端套接字工厂
ssf
-接收远程调用服务器端套接字工厂
RemoteException
如果出口对象失败
UnsupportedOperationException
-当且仅当激活是不被实施的支持
public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj
-被导出,远程对象
force
-如果是真的,unexports对象即使有未决或进行调用;如果为假,只有unexports对象如果没有待定或进行电话
NoSuchObjectException
-如果远程对象目前不出口
UnsupportedOperationException
-当且仅当激活是不被实施的支持
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.