第三章中间件简单Corba程序设计教程.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
账户的对象实现 public class AccountImpl extends Bank.AccountPOA { // 属性定义 protected float balance;? // 构造方法,按指定余额创建新的帐户 public AccountImpl(float bal){ balance = bal; } ? // 往帐户中存款 public void deposit(float amount){ balance += amount; } ? // 从帐户中取款,不足余额则返回false public boolean withdraw(float amount){ if (balance amount) return false; else { balance -= amount; return true; } } // 查询帐户余额 public float getBalance(){ return balance } } AccountImpl.java 账户管理员的对象实现 public class AccountManagerImpl extends Bank.AccountManagerPOA { protected Hashtable accountList; // 该帐户管理员所负责的帐户清单 public AccountManagerImpl(){ accountList = new Hashtable(); } public synchronized Bank.Account open(String name){ Bank.Account account=(Bank.Account)accountList.get(name); if (account == null) { Random random = new Random(); float balance = Math.abs(random.nextInt())%100000/100f; AccountImpl accountServant = new AccountImpl(balance); try { org.omg.CORBA.Object obj = _default_POA().servant_to_reference(accountServant); account = Bank.AccountHelper.narrow(obj); } catch(Exception exc) { exc.printStackTrace(); } accountList.put(name, account); System.out.println(新开帐户: + name); } return account; } } AccountManagerImpl.java 1.5.6 编写服务程序 通常程序员都会编写一个名为Server.java的服务程序,服务程序创建伺服对象供客户端使用。 编写服务程序 初始化ORB 创建一个POA 创建提供服务的伺服对象 激活伺服对象 激活POA管理器 等待客户程序发来请求 服务程序的处理流程 编写服务程序 public class Server { public static void main(String[] args) { try { org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); POA rootPOA = POAHelper.narrow( orb.resolve_initial_references(RootPOA)); org.omg.CORBA.Policy[] policies = { rootPOA.create_lifespan_policy( LifespanPolicyValue.PERSISTENT) }; POA myPOA = rootPOA.create_POA(BankPOA, rootPOA.the_POAManager(), policies); AccountManagerImpl ma

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档