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.

使 用 型 别 对 象 封 装 器// 初 始 化 ORB。CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);// 为 帐 户 安 装 型 别 对 象 封 装 器 。Bank::AccountObjectWrapper::add(orb,CachingAccountObjectWrapper::factory,VISObjectWrapper::Client);Java:Java:// 得 到 管 理 器 ID。PortableServer::ObjectId_var managerId =PortableServer::string_to_ObjectId("BankManager");// 找 到 一 个 帐 户 管 理 器 。Bank::AccountManager_var manager =Bank::AccountManager::_bind("/bank_ow_poa", managerId);. . .客 户 端 上 的 型 别 对 象 封 装 器 是 通 过 调 用 idl2java 编 译 器 为 类 生 成 的 Java 下 的addClientObjectWrapperClass 方 法 注 册 的 。 客 户 端 的 对 象 封 装 器 必 须 在 调 用ORB.init 方 法 之 后 、 限 制 任 何 对 象 之 前 注 册 。 以 下 代 码 示 例 所 示 为 创 建 和 注 册 型 别对 象 封 装 器 的 TypedClient.java 文 件 的 一 部 分 。// TypedClient.javaimport com.inprise.vbroker.interceptor.*;public class TypedClient {public static void main(String[] args) throws Exception {// 初 始 化 ORB。org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);doMain (orb, args);}public static void doMain(org.omg.CORBA.ORB orb, String[] args) {// 为 帐 户 对 象 添 加 型 别 对 象 封 装 器Bank.AccountHelper.addClientObjectWrapperClass(orb,BankWrappers.CachingAccountObjectWrapper.class);// 找 到 一 个 帐 户 管 理 器 。Bank.AccountManager manager =Bank.AccountManagerHelper.bind(orb, "BankManager");. . .}}<strong>VisiBroker</strong> ORB 会 跟 踪 在 客 户 端 为 其 注 册 的 任 何 对 象 封 装 器 。 客 户 端 调 用 _bind方 法 限 制 该 类 型 的 对 象 时 , <strong>VisiBroker</strong> 将 创 建 必 要 的 对 象 封 装 器 。 如 果 客 户 端 限制 到 对 象 的 特 定 类 的 多 个 实 例 , 则 每 个 实 例 将 具 有 自 己 的 一 组 封 装 器 。为 服 务 器 注 册 型 别 对 象 封 装 器C++:C++:正 如 客 户 端 应 用 , 服 务 器 端 上 的 型 别 对 象 封 装 器 是 通 过 调 用::add 方 法 注 册 的 。 服 务 器 端 的 型 别 对 象 封 装 器 必 须 在 调 用ORB_init 方 法 之 后 、 对 象 实 现 处 理 请 求 之 前 注 册 。 以 下 代 码 示 例 所 示 为 安 装 型 别对 象 封 装 器 的 TypedServer.C 文 件 的 一 部 分 。// TypedServer.C#include "Bank_s.hh"使 用 对 象 封 装 器 22-15

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

Saved successfully!

Ooh no, something went wrong!