对于CORBA对象,以下两个生命周期事件是很重要的:
创建--CORBA对象的生命周期从创建事件开始。CORBA对象通常通过工厂对象创建,即由对象提供操作来创建新对象。回忆一下,在IDL级,CORBA并没有像构造器这样的静态函数概念。
删除--CORBA对象的生命周期伴随着删除事件而结束。通常, CORBA对象可在它们的IDL接口中定义某种Delet()操作来删除。有时候,可通过其他对象来删除CORBA对象,例如,通过创建这些对象的工厂对象。
由于前面说过CORBA对象实际是由伺服对象来实现的,所以也要看一下伺服对象的生命周期。本文为伺服对象定义了下面两个生命周期事件:
激活--激活事件使伺服对象能处理为特定CORBA对象而进入的请求。这就提示了抽象的CORBA对象和具体伺服对象之间的绑定是通过对象I D来创建的。通常(但不是必须),激活事件也要包括伺服对象的实例化。
冻结--冻结事件的结果是使伺服对象从CORBA对象中取消绑定。通常(但不是必须),冻结事件也包括伺服对象的销毁。
要注重, CORBA对象的创建与删除和它们的激活和冻结之间有根本的区别。对很多CORBA对象的类型, CORBA对象生命周期会包括多个伺服对象的激活和冻结,如图1所示。