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.

实 例// 要 求 帐 户 管 理 器 打 开 一 个 命 名 的 帐 户 。Bank.Account account = manager.open(name);// 取 得 帐 户 余 额 。float balance = account.balance();// 打 印 余 额 。System.out.println("The balance in " + name + "'s account is $" +balance);}catch(Exception e) {e.printStackTrace();}}}服 务 器 应 用 的 完 整 实 现 。// Server.javaimport org.omg.PortableServer.*;import java.util.Properties;import java.io.FileInputStream;public class Server {private static Properties property = null;public static void main(String[] args) {try {property = new Properties();property.load(new FileInputStream("server.properties"));// 初 始 化 ORB。org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, property);// 取 得 根 POA 的 引 用POA rootPOA =POAHelper.narrow(orb.resolve_initial_references("RootPOA"));// 为 我 们 永 久 的 POA 创 建 方 针org.omg.CORBA.Policy[] policies = {rootPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT)};// 用 正 确 的 方 针 创 建 myPOAPOA myPOA = rootPOA.create_POA("bank_client_server_poa",rootPOA.the_POAManager(), policies );// 创 建 帐 户 服 务 对 象AccountManagerImpl managerServant = new AccountManagerImpl();byte[] managerId = "BankManager".getBytes();myPOA.activate_object_with_id(managerId, managerServant);rootPOA.the_POAManager().activate();// 通 知 服 务 对 象 已 准 备 好System.out.println(myPOA.servant_to_reference(managerServant) + " isready.");// 等 待 进 入 的 请 求 。20-34 <strong>VisiBroker</strong> 开 发 者 指 南

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

Saved successfully!

Ooh no, something went wrong!