12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

手 动 移 植 BOA 到 POAC++/Java:在 本 例 中 , 我 们 使 用 了 永 久 对 象 。 在 BOA 下 , 永 久 对 象 是 具 有 特 定 的 对 象 名 称 并在 智 能 代 理 上 作 了 注 册 的 对 象 。 单 独 的 BOA 可 以 同 时 支 持 永 久 对 象 和 临 时 对 象 。在 POA 下 , 永 久 对 象 是 比 其 创 建 过 程 存 在 更 久 的 对 象 。 单 独 的 POA 可 以 支 持 永久 对 象 或 临 时 对 象 , 但 不 能 同 时 支 持 两 者 。 支 持 的 对 象 类 型 由 POA 策 略 来 设 置 。由 于 根 POA 支 持 临 时 对 象 ( 默 认 ), 所 以 必 须 创 建 一 个 新 的 POA 以 支 持 永 久 对象 。注 : 一 旦 POA 创 建 好 之 后 , 就 不 可 能 改 变 它 的 策 略 。要 支 持 永 久 对 象 , 将 Lifespan ( 生 命 周 期 ) 策 略 设 置 为 PERSISTENT。 这 对 于C++ 和 Java 均 适 用 。C++:另 外 , 在 本 例 中 , 我 们 将 Bind Support 策 略 ( 与 <strong>VisiBroker</strong> <strong>Edition</strong> 有 关 的 策略 ) 设 置 为 BY_INSTANCE。 该 策 略 将 所 有 的 活 动 对 象 注 册 在 智 能 代 理 上 , 而 不 是 仅注 册 在 POA 上 ( 默 认 )。一 旦 设 定 了 相 应 的 策 略 , 就 可 以 用 create_POA() 来 创 建 新 的 POA。CORBA::PolicyList policies;policies.length(1);policies[(CORBA::ULong)0] =rootPOA>create_lifespan_policy(PortableServer::PERSISTENT);// 用 正 确 的 策 略 创 建 myPOAPortableServer::POAManager_var mgr = rootPOA->the_POAManager();PortableServer::POA_var myPOA =rootPOA->create_POA( "bank_agent_poa", mgr, policies );Java:在 Java 下 设 置 POA 策 略 :org.omg.CORBA.Any any = orb.create_any();BindSupportPolicyValueHelper.insert(any,BindSupportPolicyValue.BY_INSTANCE);org.omg.CORBA.Policy bsPolicy =orb.create_policy(com.inprise.vbroker.PortableServerExt.BIND_SUPPORT_POLICY_TYPE.value, any);org.omg.CORBA.Policy[] policies = {rootPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT), bsPolicy};// 用 正 确 的 策 略 创 建 myPOAPOA myPOA = rootPOA.create_POA( "bank_agent_poa",rootPOA.the_POAManager(), policies );定 义 服 务 对 象C++:在 BOA 下 , 服 务 对 象 为 CORBA 对 象 。 在 本 例 中 , 我 们 创 建 了 帐 户 管 理 器 对 象 ,然 后 用 obj_is_ready() 将 其 导 出 。在 POA 下 , 服 务 对 象 是 提 供 抽 象 对 象 的 实 现 的 编 程 对 象 。 服 务 对 象 不 是 CORBA对 象 。 在 POA 模 式 下 , 我 们 可 以 创 建 服 务 对 象 , 然 后 用 特 定 的 ID 来 激 活 它 。 您可 以 使 用 该 ID 来 取 得 对 象 引 用 。// 创 建 服 务 对 象30-6 <strong>VisiBroker</strong> 开 发 者 指 南

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

Saved successfully!

Ooh no, something went wrong!