Java rmi遠端方法呼叫基本用法解析
阿新 • • 發佈:2020-06-01
本文主要介紹Java中的rmi的基本使用
1:專案架構
api:主要是介面的定義,url地址,埠號
rmiconsumer:rmi服務的呼叫者
rmiserver:rmi服務的提供者
2:pom.xnl
api的pom.xml
<artifactId>api</artifactId> <groupId>com.api</groupId> <version>1.0</version> rmiconsumer和rmiserver的pom.xml <dependency> <groupId>com.api</groupId> <artifactId>api</artifactId> <version>1.0</version> </dependency>
該功能主要是將api的引入到服務端和客戶端
3:程式碼
api的程式碼
public interface RMIInterface extends Remote { String RMI_URL = "rmi://127.0.0.1:9080/RMIServer"; int PORT = 9080; Object sayHello(String name) throws RemoteException; }
rmiserver的程式碼
public class RMIInterfaceImpl extends UnicastRemoteObject implements RMIInterface { public RMIInterfaceImpl() throws RemoteException { } @Override public Object sayHello(String name) throws RemoteException { return "你好,你連線成功,姓名:"+name; } }
public class RMIServer { public static void main(String[] args) { try { RMIInterface rmi = new RMIInterfaceImpl(); //註冊通訊埠 LocateRegistry.createRegistry(RMIInterface.PORT); //註冊通訊路徑 Naming.bind(RMIInterface.RMI_URL,rmi); System.out.println("rmi服務端啟動成功"); }catch (Exception e){ e.printStackTrace(); } } }
rmiconsumer
public class RMIConsumer { public static void main(String[] args) { //遠端呼叫RMI RMIInterface rmiInterface =null; try{ rmiInterface =(RMIInterface) Naming.lookup(RMIInterface.RMI_URL); Object ret = rmiInterface.sayHello("張先生"); System.out.println("測試遠端呼叫成功,返回結果:"+ret); }catch (Exception e){ e.printStackTrace(); } } }
4:總結
介面必須繼承 Remote
介面的實現類必須繼承 UnicastRemoteObject
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。