使用RMI实现远程调用
RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象,必须实现该远程接口。
java.rmi包下的类和方法。
RMI怎么实现的?
1)服务创建
1.继承Remote接口,标识子接口中的方法可以被远程调用
public interface RedService extends Remote
2.实现类的构造方法调用父类无参数构造方法。
2)服务发布(服务曝光)
1.配置服务提供者的端口号
int port=7777;
LocateRegistry.createRegistry(port);
2.定义发布远程服务对应的url,消费者访问远程服务的地址
String url="rmi://localhost:"+port+"/test";
3.创建提供远程服务的对象
RedService redService=new RedServiceImpl();
4.给远程服务的对象,绑定一个url,完成远程服务的发布
Naming.bind(url, redService);
3)服务消费
1.获得远程服务的url
String url="rmi://localhost:7777/test";
2.通过url,获得远程服务的代理对象
RedService service = (RedService) Naming.lookup(url);
3.调用远程服务代理对象方法