一、 简介
* RMI将客户辅助对象称为stub(桩),服务辅助对象称为skeleton(骨架)
二、 制作远程服务
1. 制作远程接口
2. 制作远程的实现
3. 利用rmic产生stub和skeleton
4. 启动RMI registry(rmiregistry)
5. 开始远程服务
三、 代码展示
1. 编译代码
|--E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Server>javac *.java
|--E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Server>rmic GumballMachine
|--将GumballMachineRemote.class、GumballMachine_Stub.class拷贝到客户端目录下
|--E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Client>javac *.java
2. 运行效果
|--启动RMI注册服务:E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Server>rmiregistry
|--启动服务:E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Server>java GumballMachineTestDrive 127.0.0.1 100
|--启动客户端:E:\android\workspace\HeadFirstDesignPatterns_code102507\HF_DP\src\headfirst\proxy\gumball_Manualtest\Client>java GumballMonitorTestDrive 127.0.0.1
GumballMonitor@2d502d
Gumball Machine: 127.0.0.1
Current inventory: 100 gumballs
Current state: waiting for quarter
四、 问题解决
1. rmic 找不到类
解决办法: 需要在CLASSPATH 添加路径:pc路径\gumball_Manualtest\Server 和 pc路径\gumball_Manualtest\Client
五、 示例代码下载
http://download.csdn.net/detail/u011471135/9310225