- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
伺服对象管理器伺服对象管理器(servantmanager)是程序员自己提供的代码,用于取代POA活动对象映射表的功能。如果应用程序需要以一种更复杂的方案将对象标识映射到伺服对象,这时开发人员可设计专用的伺服对象管理器。伺服对象管理器负责决定一个CORBA对象是否存在,然后查找伺服对象并将伺服对象指派给CORBA对象。为满足不同的应用需要,开发人员可设计多个伺服对象管理器。有两类伺服对象管理器可供选择:伺服对象激活器和伺服对象定位器,开发人员可利用POA策略决定选用哪一种类型。服务程序伺服对象管理器伺服对象1客户请求伺服对象2伺服对象3POAPOA根POA注册的伺服对象管理器活动对象映射表对象标识1对象标识2对象标识3POA管理器STEP3STEP2STEP1POA策略是一个对象,负责控制相关POA的行为及这些POA所管理的对象,使用POA前应仔细考虑应用程序所需的策略集。POA策略可为不同的应用程序设计目标而配置不同的POA。目前CORBA规范定义了7种标准的POA策略,不同的ORB产品从可伸缩性或可靠性等因素考虑引入一些新的POA策略。什么是POA策略?选用POA策略选用POA策略时应注意某些策略值之间存在依赖关系(选用了一种,隐含的选用另一种)。线程策略该策略指定POA使用的线程模型,它有两种取值:ORB_CTRL_MODEL(缺省值):表示由ORB负责将对POA的请求指派到线程。在多线程环境中,并发请求可以用多线程传送。SINGLE_THREAD_MODEL:这时只有一个线程,POA顺序地处理请求。选用POA策略生命期策略该策略指定POA中对象实现的使用期限,它可有以下值:TRANSIENT(缺省值):由POA创建的对象引用是瞬时的,这些对象在创建它的POA之外不可存在。一旦POA被冻结为非活动状态,调用该POA创建的任何对象引用将引发OBJECT_NOT_EXIST异常。对话型对象通常设计为瞬时对象。PERSISTENT:由POA创建的持久对象可在创建它的POA之外存在,因而使用这一策略通常还会同时采用USER_ID策略。对持久对象的请求可能导致隐式地激活一个进程、一个POA以及实现该对象的伺服对象,这意味着POA应注册伺服对象定位器或激活器。实体型对象通常设计为持久对象。对象标识唯一性策略选用POA策略该策略允许多个抽象对象共享一个伺服对象,它可取下列值:UNIQUE_ID(缺省值):被激活的伺服对象仅支持一个对象标识,POA不允许一个伺服对象与多个CORBA对象相关联。MULTIPLE_ID:被激活的伺服对象可以有一个或多个对象标识,在运行时刻调用伺服对象的操作时必须由操作内部决定对象标识。应指出的是,对象标识在特定的POA中总是唯一的,对象标识唯一性策略指的是对象标识与伺服对象之间关联的唯一性或多重性。选用POA策略对象标识指派策略该策略指定对象标识是由程序员编写的服务程序生成还是由POA自动生成,它可取以下值:USER_ID:由应用程序为POA的对象引用指定对象标识。SYSTEM_ID(缺省值):由POA为它的对象引用分配对象标识。如果同时还采用了PERSISTENT策略,则在同一POA的所有实例中对象标识必须是唯一的。典型情况将是USER_ID策略用于持久对象,将SYSTEM_ID策略用于瞬时对象。如果想将SYSTEM_ID策略用于持久对象,可从伺服对象或对象引用中提取对象标识。选用POA策略伺服对象保持策略该策略指定POA是否将活动伺服对象保存在活动对象映射表中,它有两种取值:RETAIN(缺省值):POA利用活动对象映射表跟踪对象的激活情况,通常与伺服对象激活器或POA显式激活方式结合使用。NON_RETAIN:POA不在活动对象映射表中保存活动的伺服对象,通常结合伺服对象定位器一起使用。该策略决定POA是否利用活动对象映射表跟踪对象标识与伺服对象之间的关联。如果选择NON_RETAIN策略则意味着不使用活动对象映射表,因而使用该策略的应用程序必须提供一个伺服对象定位器类型的伺服对象管理器。选用POA策略请求处理策略该策略指定POA如何处理请求,它有三种取值:USE_ACTIVE_OBJECT_MAP_ONLY(缺省值):POA仅依赖于活动对象映射表决定哪些对象标识可用及对象标识关联到哪些伺服对象。如果在活动对象映射表中找不到对象标识,则引发OBJECT_NOT_EXIST异常。该值必须结合RETAIN策略使用。USE_DEFAULT_SERVANT:如果POA在活动对象映射表中找不到对象标识,或已设置NON_RETAIN策略,则将请求分派给一个缺省
文档评论(0)