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.

设 置 收 听 和 调 度 属 性>resolve_initial_references("RootPOA");PortableServer::POA_var rootPOA =PortableServer::POA::_narrow(obj);// 创 建 策 略CORBA::Any_var seAny(new CORBA::Any);// SERVER_ENGINE_POLICY_TYPE 需 要 一 个 序 列 , 即 使 用// 仅 指 定 了 一 个 引 擎 。CORBA::StringSequence_var engines = newCORBA::StringSequence(1UL);engines->length(1UL);engines[0UL] = CORBA::string_dup("mySe");seAny length(2UL);policies[0UL] = orb->create_policy(PortableServerExt::SERVER_ENGINE_POLICY_TYPE,seAny);policies[1Ul] = rootPOA->create_lifespan_policy(PortableServer::PERSISTENT);// 用 我 们 的 策 略 创 建 POAPortableServer::POAManager_var manager = rootPOA->the_POAManager();PortableServer::POA_var myPOA = rootPOA->create_POA("bank_se_policy_poa", manager, policies);// 创 建 服 务 对 象AccountManagerImpl* managerServant = new AccountManagerImpl();// 激 活 服 务 对 象PortableServer::ObjectId_var oid =PortableServer::string_to_ObjectId("BankManager");myPOA->activate_object_with_id(oid ,managerServant);// 取 得 引 用CORBA::Object_var ref = myPOA->servant_to_reference(managerServant);CORBA::String_var string_ref = orb->object_to_string(ref.in());ofstream refFile("ref.dat");refFile activate();// 等 待 进 入 的 请 求cout run();}catch(const CORBA::Exception& e) {cerr在 Java 下 使 用 特 定 的 服 务 器 引 擎 创 建 POA:// Server.javaimport org.omg.PortableServer.*;public class Server {public static void main(String[] args) {try {// 初 始 化 ORB。org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);// 取 得 属 性 管 理 器com.inprise.vbroker.properties.PropertyManager pm =((com.inprise.vbroker.orb.ORB)orb).getPropertyManager();使 用 POA 7-31

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

Saved successfully!

Ooh no, something went wrong!