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

2016-02-19 12:01 0 1 收藏

下面这个CORBA对象生命周期之早期和后期绑定教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - 编程语言 】

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

1. 早期绑定

早期绑定通常描述的是某种标准应用程序逻辑通过对象适配器来执行绑定的情况。例如,一工厂对象可为创建新对象提供操作。这个操作的实现可创建一新的CORBA对象,并在返回新创建对象的引用之前激活一个伺服对象。因为CORBA对象现在是激活的-即存在对伺服对象的绑定-客户机现在可使用引用和激发新创建的CORBA对象。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

2. 后期绑定

后期绑定意指绑定只能通过命令创建,即是在对象故障发生的情况下。如果在目标服务器的ORB运行时模块中所请求的目标对象和伺服对象之间不存在绑定,就会发生对象故障,即ORB不能为目标对象找出实现。

在对象故障的情况下, ORB可以要求应用程序提供一个伺服对象,以把这个伺服对象和目标对象绑定。如果应用程序不能完成这个请求, ORB就会引发异常以通知客户机被请求对象不存在。

创建后期绑定有两个选择:绑定只在请求期间被创建,或是绑定可以比请求生存得更久。在第一种情况中,下一个相同对象的请求会导致另一个对象故障,而第二种情况中绑定仍然存在(同时不需要任何动作来冻结伺服对象)。

图2显示了早期绑定和后期绑定的关系:基本上,早期绑定意味着应用程序采取主动。后期绑定意味着对象适配器请求应用程序提供一个伺服对象,以使绑定可以创建。这通常是通过伺服对象管理器来完成。伺服对象管理器是一个本地回调对象,由应用程序实现并注册到ORB,这样ORB在对象故障的情况下就可以激发它。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1599544.html

延伸阅读
在 Android 中,多数情况下每个程序都是在各自独立的 Linux 进程中运行的。当一个程序或其某些部分被请求时,它的进程就“出生”了;当这个程序没有必要再运行下去且系统需要回收这个进程的内存用于其他程序时,这个 进程就“死亡”了。可以看出,Android 程序的生命周期是由系统控制而非程序自身直接控制。这和我们编写桌面应用程序时的思维有...
窗体的Initialize事件------窗体的Load事件------窗体的Activate事件------窗体的QueryUnload事件------窗体的Unload事件 可以新建一个VB窗体,在窗体中写下面代码测试: Private Sub Form_Activate() MsgBox "窗体的Activate事件" End Sub Private Sub Form_Initialize() MsgBox "窗体的Initialize事件" End Sub Private Sub Form_Load() ...
Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情。 例举了 7 个常用的钩子: protected void onCreate(Bundle savedInstanceState) protected void onStart() protected void onResume() protected void onPause() protected void onStop() protected void onRestart() protected void onDes...
开始阶段 装载:把二进制形式的java类型读入jvm中。 1)通过该类型的完全限定名,产生一个代表该类型的二进制数据流; 2)解析这个二进制数据流为方法区内的内部数据结构; 3)创建一个表示该类型的java.lang.Class类的实例; 连接:把已读入的类型数据合并到虚拟机的运行时状态中。 1)验证:确保java类型数据格式正确并且适用于jvm使...
与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。 代码如下: // 开始线程      public void start( );      public void run( );      // ...

经验教程

145

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部