Java rmi遠(yuǎn)程方法調(diào)用基本用法解析
本文主要介紹Java中的rmi的基本使用
1:項目架構(gòu)
api:主要是接口的定義,url地址,端口號
rmiconsumer:rmi服務(wù)的調(diào)用者
rmiserver:rmi服務(wù)的提供者
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的引入到服務(wù)端和客戶端
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服務(wù)端啟動成功"); }catch (Exception e){ e.printStackTrace(); } } }
rmiconsumer
public class RMIConsumer { public static void main(String[] args) { //遠(yuǎn)程調(diào)用RMI RMIInterface rmiInterface =null; try{ rmiInterface =(RMIInterface) Naming.lookup(RMIInterface.RMI_URL); Object ret = rmiInterface.sayHello("張先生"); System.out.println("測試遠(yuǎn)程調(diào)用成功,返回結(jié)果:"+ret); }catch (Exception e){ e.printStackTrace(); } } }
4:總結(jié)
接口必須繼承 Remote
接口的實現(xiàn)類必須繼承 UnicastRemoteObject
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案
我們經(jīng)常會遇到一下問題:Spring對靜態(tài)變量的注入為空、在構(gòu)造函數(shù)中使用Spring容器中的Bean對象,得到的結(jié)果為空。不要擔(dān)心,本文將為大家介紹如何解決這些問題,跟隨小編來看看吧2021-11-11引入mybatis-plus報 Invalid bound statement錯誤問題的解決方法
這篇文章主要介紹了引入mybatis-plus報 Invalid bound statement錯誤問題的解決方法,需要的朋友可以參考下2020-05-05java.io.EOFException產(chǎn)生原因及解決方法(附代碼)
java.io.EOFException表示在讀取數(shù)據(jù)時突然遇到了文件或流的末尾,也就是說客戶端或服務(wù)器已經(jīng)關(guān)閉了連接,但是你還在嘗試讀取數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java.io.EOFException產(chǎn)生原因及解決的相關(guān)資料,需要的朋友可以參考下2023-09-09使用Spark?SQL實現(xiàn)讀取不帶表頭的txt文件
這篇文章主要為大家詳細(xì)介紹了如何使用Spark?SQL實現(xiàn)讀取不帶表頭的txt文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03