Java rmi遠程方法調(diào)用基本用法解析
本文主要介紹Java中的rmi的基本使用
1:項目架構(gòu)

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

