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();
}
}
}
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();
}
}
}
相关文章推荐
- ATM系统实现[7]——服务选择窗口[00原创]
- ATM系统实现[14]——可用帐户类[00原创]
- ATM系统实现[8]——转帐查询窗口[00原创]
- ATM系统实现[16]——交易事务类[00原创]
- ATM系统实现[18]——数据管理类[00原创]
- ATM系统实现[1]——用户登录界面[00原创]
- ATM系统实现[9]——事务查询窗口[00原创]
- ATM系统实现[15]——身份验证类[00原创]
- ATM系统实现[2]——密码修改窗口[00原创]
- ATM系统实现[10]——转帐窗口[00原创]
- ATM系统实现[3]——余额查询窗口[00原创]
- ATM系统实现[11]——取款窗口[00原创]
- ATM系统实现[17]——数据格式验证类[00原创]
- ATM系统实现[4]——帐户选择窗口[00原创]
- ATM系统实现[5]——注意事项窗口[00原创]
- ATM系统实现[12]——抽象转户类[00原创]
- ATM系统实现[6]——密码面板组件[00原创]
- ATM系统实现[13]——业务帐户类[00原创]
- ATM系统开发日志[2] [00原创]
- ATM系统开发日志[4] [00原创]