原文:http://blog.csdn.net/hhxin635612026/article/details/8917373?utm_source=tuicool
在eclipse中进行远程方法调用(Remote Method Invocation RMI)编程
一、安装RMI插件
1、首先下载Eclipse的RMI开发插件 下载地址:http://www.genady.net/rmi/v20/downloads.html
或http://download.csdn.net/detail/hhxin635612026/5361821
2、解压缩将net.genady.rmi_2.5.0文件夹下的两个文件拷贝到D:\eclipse(我的eclips的安装文件夹),覆盖同名的两个文件夹
3、重启Eclipse快捷键栏会出现
4、插件安装完毕
二、rmi编程示例 (注:这里给出的是李华飚的《java中间件技术及其应用开发》P143的示例程序)
1、创建RMI项目,并建rmiTest包,一个接口RMITest1I,两个类分别是RMITest1,DisplayPerfectTime,下面给出源代码
- package rmiTest;
-
- import java.rmi.Remote;
- import java.rmi.RemoteException;
-
- public interface RMITest1I extends Remote {
- long getPerfectTime() throws RemoteException;
- }
- package rmiTest;
-
- import java.rmi.*;
- import java.rmi.server.*;
-
- public class RMITest1 extends UnicastRemoteObject implements RMITest1I {
-
- protected RMITest1() throws RemoteException {
- super();
- }
-
- public long getPerfectTime() throws RemoteException {
-
- return System.currentTimeMillis();
- }
-
- public static void main(String[] args) {
-
-
- try {
-
-
-
- System.out.println("开始 RMI Server ...");
- RMITest1 rt = new RMITest1();
-
- System.out.println("将实例注册到专有的URL ");
- Naming.rebind("//localhost/RMITest1", rt);
- System.out.println("Bind OK");
- System.out.println("等待RMI客户端调用...");
-
- } catch (Exception e) {
- System.out.println("错误: " + e);
- }
-
- }
-
- }
- package rmiTest;
- import java.rmi.Naming;
-
- public class DisplayPerfectTime {
-
- public DisplayPerfectTime() {
- super();
-
- }
-
- public static void main(String[] args) {
-
- try {
- RMITest1I t = (RMITest1I) Naming.lookup("//localhost/RMITest1");
- for (int i = 0; i < 10; i++) {
- System.out.println("PerfectTime:" + t.getPerfectTime());
- }
-
- } catch (Exception e) {
-
- e.printStackTrace();
- }
- }
-
- }
2、进入cmd,如图
键入程序所在位置后对接口进行编译,如图
3、右键项目,打开运行配置窗口
4、打开后找到RMI VM Properties对java.security.policy与java.rmi.server.codebase进行配置,如下如所示
其中java.security.policy 配成D:\Java\jdk1.7.0_03\jre\lib\security\java.security (注:这里给出的路径是我电脑的jdk的安装路径)
java.rmi.server.codebase 配到本程序的bin目录下
5、然后对服务端RMITest1类,在RMI Application方式下运行
6、对客户端DisplayPerfectTime类,像平常本地程序运行即可,即java application方式