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.

显 式 实 现 双 向 IIOPorg.omg.CORBA.Policy[] policies = {// 设 定 bidir 策 略orb.create_policy(BIDIRECTIONAL_POLICY_TYPE.value, bidirPolicy)};org.omg.PortableServer.POA callbackPOA =rootPOA.create_POA("bidir", rootPOA.the_POAManager(), policies);QuoteConsumerImpl c = new QuoteConsumerImpl();callbackPOA.activate_object(c);callbackPOA.the_POAManager().activate();QuoteServer serv = QuoteServerHelper.bind(orb, "/QuoteServer_poa","QuoteServer".getBytes());serv=QuoteServerHelper.narrow(serv._set_policy_override(policies, org.omg.CORBA.SetOverrideType.ADD_OVERRIDE));serv.registerConsumer(QuoteConsumerHelper.narrow(callbackPOA.servant_to_reference(c)));System.out.println("Client:consumer registered");// 休 眠 60 s, 接 收 消 息try{Thread.currentThread().sleep(60*1000);}catch(java.lang.InterruptedException e){ }serv.unregisterConsumer(QuoteConsumerHelper.narrow(callbackPOA.servant_to_reference(c)));System.out.println("Client:consumer unregistered.Good bye.");orb.shutdown(true);...注 : 有 关 设 定 策 略 以 调 整 您 的 应 用 的 信 息 , 请 参 阅 程 序 员 参 考 。客 户 连 接 可 以 是 单 向 的 也 可 以 是 双 向 的 。 服 务 器 可 以 使 用 单 向 连 接 来 回 调 客 户 而 无须 打 开 新 的 连 接 。否 定 , 该 连 接 就 被 视 为 单 向 连 接 。要 建 立 回 调 对 象 的 POA 上 必 须 通 过 将 BiDirectional 策 略 设 定 为 BOTH 以 实 现双 向 IIOP。 该 POA 必 须 被 创 建 在 一 个 通 过 在 SCM 管 理 器 上 设 定vbroker..scm..manager.exportBiDir 属 性 已 实 现 了 双 向 支 持 的SCM 上 。 否 则 , 该 POA 将 不 能 通 过 客 户 端 发 起 的 连 接 来 接 收 服 务 器 发 出 的 请 求 。如 果 POA 未 指 定 BiDirectional 策 略 , 则 它 不 能 “ 暴 露 ” 在 外 发 连 接 中 。 要 满 足这 一 要 求 , 如 果 一 个 服 务 器 引 擎 上 已 有 一 个 已 设 定 了 exportBiDir 属 性 的 SCM,则 没 有 设 定 BiDirectional 策 略 的 POA 不 能 创 建 在 该 服 务 器 引 擎 上 。 如 果 尝 试 将POA 创 建 在 一 个 单 向 服 务 器 引 擎 (SE) 上 , 则 会 掷 出 InvalidPolicy 违 例 , 并 显示 出 错 的 ServerEnginePolicy 。注 : 使 用 同 一 客 户 连 接 的 不 同 对 象 有 可 能 会 设 定 相 互 冲 突 的 BiDirectional 策 略 门 限 。不 过 , 一 旦 一 个 连 接 被 设 定 为 单 向 , 则 不 论 策 略 以 后 有 效 与 否 , 它 将 始 终 保 持单 向 。一 旦 我 们 可 以 完 全 控 制 双 向 配 置 , 则 我 们 要 在 the iiop_tp SCM 上 实 现 双 向 IIOP时 只 需 要 执 行 :C++: prompt> -Dvbroker.se.iiop_tp.scm.iiop_tp.manager.exportBiDir=true Client双 向 通 信 28-5

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

Saved successfully!

Ooh no, something went wrong!