欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java rmi遠(yuǎn)程方法調(diào)用基本用法解析

 更新時間:2020年05月29日 16:01:09   作者:陌然淺笑  
這篇文章主要介紹了Java rmi遠(yuǎn)程方法調(diào)用基本用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

本文主要介紹Java中的rmi的基本使用

1:項(xiàng)目架構(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

 接口的實(shí)現(xiàn)類必須繼承 UnicastRemoteObject

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringBoot可執(zhí)行Jar包運(yùn)行原理

    詳解SpringBoot可執(zhí)行Jar包運(yùn)行原理

    SpringBoot有一個很方便的功能就是可以將應(yīng)用打成可執(zhí)行的Jar,那么大家有沒想過這個Jar是怎么運(yùn)行起來的呢,本篇博客就來介紹下 SpringBoot可執(zhí)行Jar包的運(yùn)行原理,需要的朋友可以參考下
    2023-05-05
  • Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    我們經(jīng)常會遇到一下問題:Spring對靜態(tài)變量的注入為空、在構(gòu)造函數(shù)中使用Spring容器中的Bean對象,得到的結(jié)果為空。不要擔(dān)心,本文將為大家介紹如何解決這些問題,跟隨小編來看看吧
    2021-11-11
  • Java獲取精確到秒的時間戳方法

    Java獲取精確到秒的時間戳方法

    這篇文章主要為大家詳細(xì)介紹了Java獲取精確到秒的時間戳方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Maven創(chuàng)建項(xiàng)目過慢的4種解決辦法

    Maven創(chuàng)建項(xiàng)目過慢的4種解決辦法

    最近經(jīng)常會遇到一個困擾,那就是用idea創(chuàng)建maven項(xiàng)目時,速度很慢,本文就來介紹一下Maven創(chuàng)建項(xiàng)目過慢的4種解決辦法,感興趣的可以了解一下
    2021-12-12
  • 詳解Eclipse安裝SVN插件的兩種方法

    詳解Eclipse安裝SVN插件的兩種方法

    這篇文章主要介紹了詳解Eclipse 安裝 SVN 插件的兩種方法,詳細(xì)的介紹了這兩種安裝方法,具有一定的參考價值,有興趣的可以了解一下
    2018-01-01
  • 引入mybatis-plus報(bào) Invalid bound statement錯誤問題的解決方法

    引入mybatis-plus報(bào) Invalid bound statement錯誤問題的解決方法

    這篇文章主要介紹了引入mybatis-plus報(bào) Invalid bound statement錯誤問題的解決方法,需要的朋友可以參考下
    2020-05-05
  • java.io.EOFException產(chǎn)生原因及解決方法(附代碼)

    java.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
  • Java實(shí)現(xiàn)按比抽獎功能

    Java實(shí)現(xiàn)按比抽獎功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)按比抽獎功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • java錯誤:無效的源發(fā)行版:18解決辦法圖文詳解

    java錯誤:無效的源發(fā)行版:18解決辦法圖文詳解

    在Java開發(fā)中,如果你遇到錯誤: 無效的源發(fā)行版,這通常意味著你正在使用的Java編譯器(通常是javac)被配置為編譯一個比你的JDK 版本更高,這篇文章主要給大家介紹了關(guān)于java錯誤:無效的源發(fā)行版:18的解決辦法,需要的朋友可以參考下
    2024-08-08
  • 使用Spark?SQL實(shí)現(xiàn)讀取不帶表頭的txt文件

    使用Spark?SQL實(shí)現(xiàn)讀取不帶表頭的txt文件

    這篇文章主要為大家詳細(xì)介紹了如何使用Spark?SQL實(shí)現(xiàn)讀取不帶表頭的txt文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03

最新評論