您的位置:首页 > 其它

ATM系统实现[19]——服务端[00原创]

2007-07-23 21:08 447 查看
package cn.edu.ynu.sei.atm.server;

import cn.edu.ynu.sei.atm.loginProcess.AvailableAccount;
import cn.edu.ynu.sei.atm.loginProcess.Verification;
import cn.edu.ynu.sei.atm.transactions.Transaction;
import cn.edu.ynu.sei.atm.account.CurrentAccount;
import cn.edu.ynu.sei.atm.account.DepositAccount;
import cn.edu.ynu.sei.atm.account.CreditAccount;
import cn.edu.ynu.sei.atm.util.DataFormatChecker;

import java.rmi.Naming;
import java.io.IOException;
import java.rmi.AlreadyBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;

/**
* ATM服务端<br>
* 该类提供了ATM系统的基本服务对象
* @author 88250
*/
public class ATMServer
{
/**
* 服务器地址
*/
private final static String hostAddr = "192.168.0.32";

/**
* 服务端程序入口点
* @param args 命令行参数,这里为<code>null</code>
*/
public static void main(String[] args)
{
try
{
Verification verification= new Verification();
AvailableAccount availableAccountInfo = new AvailableAccount();
Transaction transaction = new Transaction();
CurrentAccount currentAccount = new CurrentAccount();
DepositAccount depositAccount = new DepositAccount();
CreditAccount creditAccount = new CreditAccount();
DataFormatChecker dataFormatChecker = new DataFormatChecker();

System.setProperty("java.rmi.server.hostname", hostAddr);
LocateRegistry.createRegistry(1099);

Naming.bind("rmi://" + hostAddr + ":1099/DataFormatChecker", dataFormatChecker);
System.out.println("Utilities ready!");
Naming.bind("rmi://" + hostAddr + ":1099/CurrentAccount", currentAccount);
System.out.println("CurrentAccount ready!");
Naming.bind("rmi://" + hostAddr + ":1099/DepositAccount", depositAccount);
System.out.println("DepositAccount ready!");
Naming.bind("rmi://" + hostAddr + ":1099/CreditAccount", creditAccount);
System.out.println("CreditAccount ready!");
Naming.bind("rmi://" + hostAddr + ":1099/Transaction", transaction);
System.out.println("Transaction ready!");
Naming.bind("rmi://" + hostAddr + ":1099/Verification", verification);
System.out.println("Verification ready!");
Naming.bind("rmi://" + hostAddr + ":1099/AvailableAccount", availableAccountInfo);
System.out.println("AvailableAccount ready!");
System.out.print("ATM services ready....");
}
catch (RemoteException re)
{
re.printStackTrace();
}
catch (AlreadyBoundException abe)
{
abe.printStackTrace();
}
catch (IOException ioE)
{
ioE.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: