12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

创 建 POA创 建 子 POA根 POA 有 一 组 预 定 义 的 策 略 , 该 策 略 不 能 更 改 。 策 略 是 一 个 对 象 , 它 控 制 POA及 其 管 理 的 对 象 的 行 为 。 如 果 需 要 不 同 的 行 为 ( 例 如 不 同 的 生 命 周 期 策 略 ) 必 须 创建 新 的 POA。使 用 create_POA 可 创 建 现 有 POA 的 子 POA。 您 可 以 根 据 自 己 的 需 要 创 建 任 意 多个 POA。注 意 : 子 POA 不 继 承 其 父 POA 的 策 略 。在 以 下 实 例 中 , 子 POA 是 从 根 POA 创 建 的 , 它 具 有 持 久 的 生 命 周 期 策 略 。 根POA 的 POA 管 理 器 用 于 控 制 该 子 POA 的 状 态 。 有 关 POA 管 理 器 的 详 细 信 息在 本 节 后 面 介 绍 。在 C++ 下 创 建 策 略 和 子 POA:CORBA::PolicyList policies;policies.length(1);policies[(CORBA::ULong)0] = rootPOA->create_lifespan_policy(PortableServer::PERSISTENT);// 用 正 确 的 策 略 创 建 myPOAPortableServer::POAManager_var rootManager = rootPOA->the_POAManager();PortableServer::POA_var myPOA = rootPOA->create_POA("bank_agent_poa",rootManager, policies );在 Java 下 创 建 策 略 和 子 POA:// 为 持 久 POA 创 建 策 略org.omg.CORBA.Policy[] policies = {rootPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT)};// 用 正 确 的 策 略 创 建 myPOAPOA myPOA = rootPOA.create_POA( "bank_agent_poa", rootPOA.the_POAManager(),policies );实 现 服 务 对 象 方 法IDL 的 语 法 与 C++ 相 似 , 可 以 用 于 定 义 模 块 、 接 口 、 数 据 结 构 等 。 在 编 译 含 有 接口 的 IDL 时 , 会 生 成 一 个 类 , 该 类 作 为 服 务 对 象 的 基 础 类 。 例 如 , 在 Bank.IDL文 件 中 , 描 述 了 AccountManager 接 口 。module Bank{interface Account {float balance();};interface AccountManager {Account open ( 按 字 符 串 名 称 ) ;};};以 下 实 例 显 示 了 服 务 器 端 的 AccountManager 实 现 。C++: class AccountManagerImpl :public POA_Bank::AccountManager {private:服 务 器 基 础 6-3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!