📄 accountmanagerimpl.java
字号:
import java.util.*;
import org.omg.PortableServer.*;
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){
//随即初始化一个0到1000之间的金额
Random random = new Random();
float balance = Math.abs(random.nextInt()) % 100000 / 100f;
AccountImpl accountServant = new AccountImpl(balance);
try{
//用缺省的POA激活对象,这里缺省的POA就是根POA
org.omg.CORBA.Object obj =
_default_POA().servant_to_reference(accountServant);
//将对象引用窄化为Account类型
account = Bank.AccountHelper.narrow(obj);
}catch(Exception exc){
exc.printStackTrace();
}
accountList.put(name, account);
System.out.println("新开账户:" + name);
}
return account;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -