CORBA对象生命周期之生命周期事件

对于CORBA对象,以下两个生命周期事件是很重要的:

·创建--CORBA对象的生命周期从创建事件开始。CORBA对象通常通过工厂对象创建,即由对象提供操作来创建新对象。回忆一下,在IDL级,CORBA并没有像构造器这样的静态函数概念。

·删除--CORBA对象的生命周期伴随着删除事件而结束。通常, CORBA对象可在它们的IDL接口中定义某种Delet()操作来删除。有时候,可通过其他对象来删除CORBA对象,例如,通过创建这些对象的工厂对象。

由于前面说过CORBA对象实际是由伺服对象来实现的,所以也要看一下伺服对象的生命周期。本文为伺服对象定义了下面两个生命周期事件:

·激活--激活事件使伺服对象能处理为特定CORBA对象而进入的请求。这就提示了抽象的CORBA对象和具体伺服对象之间的绑定是通过对象I D来创建的。通常(但不是必须),激活事件也要包括伺服对象的实例化。

·冻结--冻结事件的结果是使伺服对象从CORBA对象中取消绑定。通常(但不是必须),冻结事件也包括伺服对象的销毁。

要注意, CORBA对象的创建与删除和它们的激活和冻结之间有根本的区别。对很多CORBA对象的类型, CORBA对象生命周期会包括多个伺服对象的激活和冻结,如图1所示。

时间: 2024-10-31 05:19:17

CORBA对象生命周期之生命周期事件的相关文章

CORBA对象生命周期之早期和后期绑定

在伺服对象生命周期事件的定义中,已经说过伺服对象通过CORBA对象的ID依附于CORBA对象.下面会为BOA和POA代的ORB而分别讨论CORBA对象I D的概念,然而,伺服对象和CORBA对象之间的绑定的思想还是很重要的.对象适配器必须提供必需的接口,使我们能执行这种绑定.问题在于,是什么触发了真正的绑定:是某种标准应用程序逻辑还是来到的请求?下面首先介绍早期绑定,然后讨论后期绑定,或者说是通过命令的绑定. 1. 早期绑定 早期绑定通常描述的是某种标准应用程序逻辑通过对象适配器来执行绑定的情况

CORBA对象生命周期之对象实现的分类

前面我们已经讨论过伺服对象和Corba对象的不同生命周期事件以及伺服对象和Corba对象之间绑定创建的不同方式,现在从应用程序的角度来研究Corba对象实现的分类.这会帮助我们在下面的对BOA代和POA代ORB对象生命周期的讨论中能把重点放在应用问题上. 1. 伺服对象和状态 第一个分类和伺服对象的状态相关.基本上可以划分两类完全不同的伺服对象:无状态伺服对象和有状态伺服对象. 2. 无状态伺服对象 无状态伺服对象与内存中任一特定应用程序的状态没有关联.这并不是指由伺服对象实现的Corba对象必

CORBA对象生命周期之生命周期的评估

评估准则 我们已经地讨论了CORBA对象的生命周期,包括生命周期事件,对早期和后期绑定的讨论,以及CORBA对象实现的一般分类.显然,用户希望ORB提供的应用程序能支持所有这些CORBA对象生命周期不同方面的有效实现.ORB通过对象适配器(OA)来提供这种支持.下面定义了一系列的评估准则,通过这些准则可对对象适配器进行涉及CORBA对象生命周期有效支持的分析.然后用户采纳这些不同的评估准则,并把它们应用到BOA和POA代的对象适配器中. ·适配器结构-- 最为重要的方面是适配器的一般结构. ·对

深入探索CORBA对象生命周期之慨述

在服务器端,服务器的ORB在运行时从网络读取请求,并通过调用在第一个安装的消息拦截器上的receive_message( )开始处理请求.ORB用对象关键词以标识目标必须含有POA的名字,通过POA才能到达该对象.找到正确的POA后,下一步是寻找对象本身,这个工作如何完成取决于为对象的POA定义的策略.如果对象能够定位,ORB通过调用在第一个安装的请求拦截器上的target_invoke( )来继续处理请求,拦截器则使用DII函数invoke( )来依次继续处理请求,这在客户端中已经讨论过.这里

CORBA对象生命周期之实现和内存管理

根据伺服对象的状态把它们进行分类后,现在基于内存管理来定义Corba对象的分类.显然,这个讨论和伺服对象的生命周期密切相关.这里侧重于分类,所以只是简单地讨论一下内存管理问题,并在下面引入一通用管理模式. 1. 静态Corba对象 静态对象是在系统整个生命时期中存在的Corba对象.通常,这些对象是组件入口点例如, Corba命名服务必须提供一根命名上下文,用来创建新的命名层次.这个根命名上下文可归类为静态的,因为它始终存在.从内存管理的角度来看,静态对象的实现是很简单的.通常,静态对象可通过在

探索CORBA对象生命周期之CORBA对象

我们知道,POA规范定义CORBA对象为具有标识.接口和实现的抽象实体.从客户机的角度来看,对象表示为对象引用,对象引用封装了对象接口类型和标识,并包含足够的信息来定位对象的实现.但从服务器的角度来看又怎样呢? 1.伺服对象 POA规范引入了伺服对象(servant)的概念,使抽象的CORBA对象能和实现该对象功能的具体编程语言实体彻底分离.这样从服务器的角度来看, CORBA对象是作为伺服对象实现的.要记住CORBA是与编程语言独立的体系结构.伺服对象可实现为C++或Java类,也可以实现为一

CORBA对象生命周期_JSP编程

我们知道,POA规范定义CORBA对象为具有标识.接口和实现的抽象实体.从客户机的角度来看,对象表示为对象引用,对象引用封装了对象接口类型和标识,并包含足够的信息来定位对象的实现.但从服务器的角度来看又怎样呢? 1.伺服对象 POA规范引入了伺服对象(servant)的概念,使抽象的CORBA对象能和实现该对象功能的具体编程语言实体彻底分离.这样从服务器的角度来看, CORBA对象是作为伺服对象实现的.要记住CORBA是与编程语言独立的体系结构.伺服对象可实现为C++或Java类,也可以实现为一

CORBA对象生命周期之实现和内存管理_JSP编程

根据伺服对象的状态把它们进行分类后,现在基于内存管理来定义Corba对象的分类.显然,这个讨论和伺服对象的生命周期密切相关.这里侧重于分类,所以只是简单地讨论一下内存管理问题,并在下面引入一通用管理模式. 1. 静态Corba对象 静态对象是在系统整个生命时期中存在的Corba对象.通常,这些对象是组件入口点例如, Corba命名服务必须提供一根命名上下文,用来创建新的命名层次.这个根命名上下文可归类为静态的,因为它始终存在.从内存管理的角度来看,静态对象的实现是很简单的.通常,静态对象可通过在

ADO三大对象的属性、方法、事件及常数[ZT]

ado|常数|对象 ADO三大对象的属性.方法.事件及常数(一)Connection对象  属性  属性名称 数据类型和用途 Attributes 可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions).常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务:常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务.默认值为0,表示不使用保留事务. Command