rmi也可以说是一个比较古老的技术了,但是还是在很多地方有不少作用的,因此这里介绍一下。在网上搜索了一些资料之后,发现陈旧的东西太多了,好多都是过时的操作,因此决定自己写一篇更加现代的文章。
rmi即Remote Method Invoke,它在一开始是比较啰嗦的,但是现在已经变得比较简单了。它的基本思路是这样的:
第一步,首先在一个特定的地址进行注册,比如地址:,它使用的是rmi协议。
第二步,客户端可以通过该地址,
第一步,我们首先创建一个接口,代码内容如下所示:
package com.mengzhidu.rmi.demo; import java.rmi.Remote; import java.rmi.RemoteException; public interface Hello extends Remote { String hello(String name) throws RemoteException; }第二步,我们编写对应的实现,代码内容如下所示:
package com.mengzhidu.rmi.demo; import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.server.UnicastRemoteObject; public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl() throws RemoteException { super(); } @Override public String hello(String name) throws RemoteException { return "hello: " + name; } public static void main(String[] args) throws Exception { HelloImpl hello = new HelloImpl(); LocateRegistry.createRegistry(1099); Naming.bind("rmi://localhost:1099/hello", hello); System.out.println("服务端处理完成,等待客户端连接..."); } }第三步,我们创建一个客户端,我们就可以进行调用了,代码内容如下所示:
package com.mengzhidu.rmi.demo; import java.rmi.Naming; public class ClientDemo { public static void main(String[] args) throws Exception { Hello hello = (Hello) Naming.lookup("rmi://localhost:1099/hello"); System.out.println(hello.hello("辛星")); } }我们首先启动服务端的代码,内容如下所示:
然后我们启动客户端的代码,我们就会看到如下内容:
至此,我们一个简单的rmi调用就完成了。