zoukankan      html  css  js  c++  java
  • java rmi的基本使用

    本文主要介绍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

    以上就是Java代码实现简单的RMI

  • 相关阅读:
    myeclipse 自定义视图Customize Perspective 没有反应
    myEclipse工具栏设置新建类、包、接口图标
    eclipse手动添加SVN插件
    ui 库vue app
    sublime text3安装emmet插件
    Sublime Text 3最受欢迎的配色主题theme-超炫
    516D Drazil and Morning Exercise
    506C Mr. Kitayuta vs. Bamboos
    555E Case of Computer Network
    576D Flights for Regular Customers
  • 原文地址:https://www.cnblogs.com/orange-time/p/12290964.html
Copyright © 2011-2022 走看看