所有类


java.rmi.activation
类 Activatable

java.lang.Object
  继承者 java.rmi.server.RemoteObject
      继承者 java.rmi.server.RemoteServer
          继承者 java.rmi.activation.Activatable
所有已实现的接口:
Serializable, Remote

public abstract class Activatable
   
   
   
   
   
extends RemoteServer

Activatable 类为需要能随时间持久访问并能由系统激活的远程对象提供支持。

对于构造方法和静态 exportObject 方法,将导出的远程对象的 stub 可以像 UnicastRemoteObject 中所描述的那样获得。

从以下版本开始:
1.2
另请参见:
序列化表格

字段摘要
 
从类 java.rmi.server.RemoteObject 继承的字段
ref
 
构造方法摘要
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)
          构造方法用于注册和在指定端口(如果 port=0,则选择匿名端口)上导出对象。
protected Activatable(String location, MarshalledObject data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          构造方法用于注册对象和在指定端口(如果 port=0,则选择匿名端口)上导出对象。
 
方法摘要
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)
          此 exportObject 方法可以通过一个未扩展 Activatable 类的“可激活”对象显式地调用,为两个目的 a) 注册对象的激活描述符,该描述符通过激活系统(因此该对象能被激活)从提供的 locationdata 构造,以及 b) 在指定端口上(如果 port=0,则选择匿名端口)导出远程对象 obj
static ActivationID exportObject(Remote obj, String location, MarshalledObject data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          此 exportObject 方法可经通过一个未扩展 Activatable 类的“可激活”对象显式地调用,为两个目的 a)注册对象的激活描述符,该描述符通过激活系统(因此该对象能被激活)从提供的 locationdata 构造,以及 b) 在指定端口上(如果 port=0,则选择匿名端口)导出远程对象 obj
protected  ActivationID getID()
          返回对象的激活标识符。
static boolean inactive(ActivationID id)
          通知系统具有相应激活 id 的对象当前是不活动的。
static Remote register(ActivationDesc desc)
          为可激活远程对象注册一个对象描述符,以便它可以按需激活。
static boolean unexportObject(Remote obj, boolean force)
          从 RMI 运行时移除远程对象 obj。
static void unregister(ActivationID id)
          为与 id 关联的激活描述符撤消前面的注册。
 
从类 java.rmi.server.RemoteServer 继承的方法
getClientHost, getLog, setLog
 
从类 java.rmi.server.RemoteObject 继承的方法
equals, getRef, hashCode, toString, toStub
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Activatable

protected Activatable(String location,
                      MarshalledObject data,
                      boolean restart,
                      int port)
               throws ActivationException,
                      RemoteException
构造方法用于注册和在指定端口(如果 port=0,则选择匿名端口)上导出对象。 此类的具体子类必须调用此构造方法来在 initial 构造中注册和导出对象。作为可激活对象构造的副作用,远程对象由激活系统来“注册”并“导出”(如果 port=0,则在匿名端口上)到 RMI 运行时,以便它能接受自客户机传入的调用。

参数:
location - 此对象的类的位置
data - 对象的初始化数据
port - 对象导出的端口(如果 port=0,则使用匿名端口)
restart - 如果为 true,则在一次意外崩溃之后,如果激活器被重启或者对象激活组被重启,则该对象也会被重启(激活);如果为 false,则对象只能按需激活。指定 restarttrue,不强制对新注册的对象立即进行一次初始激活操作;初始激活是延后的。
抛出:
ActivationException - 如果对象注册失败。
RemoteException - 如果下面之一失败:a) 通过激活系统注册对象 b) 导出对象到 RMI 运行时。
从以下版本开始:
1.2

Activatable

protected Activatable(String location,
                      MarshalledObject data,
                      boolean restart,
                      int port,
                      RMIClientSocketFactory csf,
                      RMIServerSocketFactory ssf)
               throws ActivationException,
                      RemoteException
构造方法用于注册对象和在指定端口(如果 port=0,则选择匿名端口)上导出对象。

此类的具体子类必须调用此构造方法来在 initial 构造中注册和导出对象。作为可激活对象构造的副作用,远程对象由激活系统来“注册”并“导出”(如果 port=0,则在匿名端口上)到 RMI 运行时,以便它能接受自客户机传入的调用。

参数:
location - 此对象的类的位置
data - 对象的初始化数据
restart - 如果为 true,则在一次意外崩溃之后,如果激活器被重启或者对象激活组被重启,则该对象也会被重启(激活);如果为 false,则只能按需激活。指定 restarttrue,不强制对新注册的对象立即进行一次初始激活操作;初始激活是延后的。
port - param port 对象导出的端口(如果 port=0,则使用匿名端口)
csf - 进行远程对象调用的客户端套接字工厂
ssf - 接收远程调用的服务器端套接字工厂
抛出:
ActivationException - 如果注册失败。
RemoteException - 如果下面之一失败:a) 通过激活系统注册对象 b) 导出对象到 RMI 运行时。
从以下版本开始:
1.2

Activatable

protected Activatable(ActivationID id,
                      int port)
               throws RemoteException
构造方法用于在指定端口上激活/导出对象。一个“可激活的”远程对象必须具有带两个参数的构造方法:
  • 对象的激活标识符(ActivationID),以及
  • 对象的初始化数据(MarshalledObject)。

当此类的具体子类通过上述的两参数构造方法激活 时,它必须调用此构造方法。作为构造的副作用,远程对象被“导出”到 RMI 运行时(在指定 port 上),并且可用于接受从客户端传入的调用。

参数:
id - 对象的激活标识符
port - 对象导出的端口号
抛出:
RemoteException - 如果导出对象到 RMI 运行时失败
从以下版本开始:
1.2

Activatable

protected Activatable(ActivationID id,
                      int port,
                      RMIClientSocketFactory csf,
                      RMIServerSocketFactory ssf)
               throws RemoteException
构造方法用于在指定端口上激活/导出对象。一个“可激活的”远程对象必须具有带两个参数的构造方法:
  • 对象的激活标识符(ActivationID),以及
  • 对象的初始化数据(MarshalledObject)。

当此类的具体子类通过上述的两参数构造方法激活 时,它必须调用此构造方法。作为构造的副作用,远程对象被“导出”到 RMI 运行时(在指定 port 上),并且可用于接受从客户端传入的调用。

参数:
id - 对象的激活标识符
port - 对象导出的端口号
csf - 进行远程对象调用的客户端套接字工厂
ssf - 接收远程调用的服务器端套接字工厂
抛出:
RemoteException - 如果导出对象到 RMI 运行时失败
从以下版本开始:
1.2
方法详细信息

getID

protected ActivationID getID()
返回对象的激活标识符。此方法是受保护的,因此只有子类能获取对象的标识符。

返回:
对象的激活标识符
从以下版本开始:
1.2

register

public static Remote register(ActivationDesc desc)
                       throws UnknownGroupException,
                              ActivationException,
                              RemoteException
为可激活远程对象注册一个对象描述符,以便它可以按需激活。

参数:
desc - 对象的描述符
返回:
可激活远程对象的 stub
抛出:
UnknownGroupException - 如果 desc 中的组 id 未使用激活系统注册
ActivationException - 如果激活系统未运行
RemoteException - 如果远程调用失败
从以下版本开始:
1.2

inactive

public static boolean inactive(ActivationID id)
                        throws UnknownObjectException,
                               ActivationException,
                               RemoteException
通知系统具有相应激活 id 的对象当前是不活动的。如果对象当前是活动的,则对象从 RMI 运行时“取消导出”(仅当没有任何挂起或者进程内调用),以便其无法再接收传入的调用。此调用通知此 VM 的 ActivationGroup,对象是不活动的,并依次通知其 ActivationMonitor。如果此调用成功完成,则对激活器的后续激活请求将导致对象被重新激活。如果对象被认为是活动的但是其自身已经取消导出,则此操作仍能成功。

参数:
id - 对象的激活标识符
返回:
如果操作成功(如果对象当前已知是活动的,并且已经取消导出或者当前被导出并且没有任何正在挂起/执行的调用,则此操作将能成功),则返回 true;否则如果在对象具有正在挂起/执行的调用,其不能被取消激活,则返回 false
抛出:
UnknownObjectException - 如果对象未知(其可能已经是不活动的)
ActivationException - 如果组不活动
RemoteException - 如果调用通知监视器失败
从以下版本开始:
1.2

unregister

public static void unregister(ActivationID id)
                       throws UnknownObjectException,
                              ActivationException,
                              RemoteException
为与 id 关联的激活描述符撤消前面的注册。对象无法再通过该 id 被激活。

参数:
id - 对象的激活标识符
抛出:
UnknownObjectException - 如果对象(id)未知
ActivationException - 如果激活系统未运行
RemoteException - 如果对激活系统的远程调用失败
从以下版本开始:
1.2

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部