/**
* @param args
*/
// TODO Auto-generated method stub
public static void main(String[] args) throws RemoteException, Exception {
// 通过JNDI查找远程服务
Sev sev = (Sev) Naming.lookup("rmi://192.168.1.135:2000/fdf");
// 调用远程方法
System.out.print(sev.helloWorld("yeeku"));
}
public interface Sev extends Remote {
String helloWorld(String name) throws RemoteException;
}
public class SevImpl extends UnicastRemoteObject implements Sev {
// 远程服务类必须拥有构造器,且构�?�器必须抛出RemoteException异常
protected SevImpl() throws RemoteException {
super();
// TODO Auto-generated constructor stub
}
/**
*
*/
private static final long serialVersionUID = 1L;
// 实现Remote接口必须实现的方�?
public String helloWorld(String name) throws RemoteException {
// TODO Auto-generated method stub
return "你好:" + name;
}
// 下面是服务类的本地方法,不会“暴露�?�为远程服务�?
public void info() {
System.out.print("我是本地方法");
}
// 下面提供程序入口,将远程类实例绑定为本机的服务�??
public static void main(String[] args) throws Exception {
// 创建远程服务类实�?
Sev imp = new SevImpl();
// 注册远程服务的端�?
LocateRegistry.createRegistry(2000);
// 将远程服务实例绑定为远程服务�?
Naming.rebind("rmi://192.168.1.135:2000/fdf", imp);
System.out.print("Serv Started!!!");
}
}
*注意:倘若报错有可能是RMI的编译环境没设设置好
右键项目->Properties->RMI Compiler Properties->Use non-standart tools.jar location勾上,然后Browse你的jdk中lib中的tools.jar。
本文介绍了一个使用Java RMI实现的简单远程方法调用示例。示例包括服务端接口定义、服务实现及客户端调用流程。通过JNDI查找并调用远程方法,展示了如何部署与调用远程服务。
947

被折叠的 条评论
为什么被折叠?



