CORBA对象生命周期之早期和后期绑定
2008-01-05 20:07:37 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

核心提示:在伺服对象生命周期事件的定义中,已经说过伺服对象通过CORBA对象的ID依附于CORBA对象,CORBA对象生命周期之早期和后期绑定,下面会为BOA和POA代的ORB而分别讨论CORBA对象I D的概念,然而,由应用程序实现并注册到ORB,这样ORB在对象故障的情况下就可以激发它,伺服对象和CORBA对象之间的绑定的思
在伺服对象生命周期事件的定义中,已经说过伺服对象通过CORBA对象的ID依附于CORBA对象。下面会为BOA和POA代的ORB而分别讨论CORBA对象I D的概念,然而,伺服对象和CORBA对象之间的绑定的思想还是很重要的。对象适配器必须提供必需的接口,使我们能执行这种绑定。
1. 早期绑定
早期绑定通常描述的是某种标准应用程序逻辑通过对象适配器来执行绑定的情况。例如,一工厂对象可为创建新对象提供操作。这个操作的实现可创建一新的CORBA对象,并在返回新创建对象的引用之前激活一个伺服对象。因为CORBA对象现在是激活的-即存在对伺服对象的绑定-客户机现在可使用引用和激发新创建的CORBA对象。
2. 后期绑定
后期绑定意指绑定只能通过命令创建,即是在对象故障发生的情况下。假如在目标服务器的ORB运行时模块中所请求的目标对象和伺服对象之间不存在绑定,就会发生对象故障,即ORB不能为目标对象找出实现。
在对象故障的情况下, ORB可以要求应用程序提供一个伺服对象,以把这个伺服对象和目标对象绑定。假如应用程序不能完成这个请求, ORB就会引发异常以通知客户机被请求对象不存在。
创建后期绑定有两个选择:绑定只在请求期间被创建,或是绑定可以比请求生存得更久。在第一种情况中,下一个相同对象的请求会导致另一个对象故障,而第二种情况中绑定仍然存在(同时不需要任何动作来冻结伺服对象)。
图2显示了早期绑定和后期绑定的关系:基本上,早期绑定意味着应用程序采取主动。后期绑定意味着对象适配器请求应用程序提供一个伺服对象,以使绑定可以创建。这通常是通过伺服对象治理器来完成。伺服对象治理器是一个本地回调对象,由应用程序实现并注册到ORB,这样ORB在对象故障的情况下就可以激发它。

更多精彩
赞助商链接