在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 {
/*
* 创建远程对象的一个或多个实例,下面是RMITest1对象
*/
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();
// TODO Auto-generated constructor stub
}
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) {
// TODO Auto-generated catch block
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方式
---欢迎转载---