您的位置:首页 > 编程语言 > Java开发

Java RMI 简单示例

2016-03-21 15:26 531 查看
一、创建远程服务
1、创建 Remote 接口,MyRemote.java

import java.rmi.*;

public interface MyRemote extends Remote{

public String sayHello() throws RemoteException;
}


2、实现 Remote,MyRemoteImpl.java

import java.rmi.*;
import java.rmi.server.*;

public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{

public String sayHello(){
return "Server says,'Hey'";
}
public MyRemoteImpl() throws RemoteException{}

public static void main(String[] args){
try{
MyRemote service = new MyRemoteImpl();
Naming.rebind("rmi://localhost:1099/Hello",service);
}catch(Exception ex)
{
ex.printStackTrace();
}
}
}


3、编译。在以上 java 文件所在目录,按住 shift 键,右键,选择「在此处打开命令窗口」,执行

javac *.java


4、用 rmic 产生 stub。

rmic MyRemoteImpl


5、启动 RMI registry。

rmiregistry


6、启动远程服务。另外打开一个命令窗口,执行

java MyRemoteImpl




二、客户端调用远程方法

1、把第一步的 MyRemote.class 和 MyRemoteImpl_Stub.class 拷贝到客户端文件所在目录。

2、编写客户端代码 MyRemoteClient.java。

import java.rmi.*;

public class MyRemoteClient
{
public static void main(String[] args)
{
new MyRemoteClient().go();
}

public void go()
{
try
{
MyRemote service=(MyRemote)Naming.lookup("rmi://localhost:1099/Hello");
String s=service.sayHello();
System.out.println(s);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}


3、编译

javac *.java


4、运行客户端

java MyRemoteClient




 

参考资料:

1. Kathy Sierra. Bert Bates. 《Head First Java》中文版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: