zoukankan      html  css  js  c++  java
  • Java RMI 最简单实例

    IHello.java

    import java.rmi.Remote;
    import java.rmi.RemoteException;
    
    public interface IHello extends Remote{
        public void say() throws RemoteException;
    }

    Hello.java

    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    
    public class Hello extends UnicastRemoteObject implements IHello{
    
        private static final long serialVersionUID = 1L;
    
        protected Hello() throws RemoteException {
            super();
        }
    
        @Override
        public void say() throws RemoteException {
            System.out.println("Hello World");
        }
    }

    HelloServer.java

    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.rmi.registry.LocateRegistry;
    import java.net.MalformedURLException;
    
    public class HelloServer {
    
        public static void main(String[] args) {
            try {
                IHello h = new Hello(); 
                LocateRegistry.createRegistry(8888);
                Naming.rebind("rmi://localhost:8888/h", h);
            } catch (RemoteException e) {
                e.printStackTrace();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
        }
    
    }

    HelloClient.java

    import java.net.MalformedURLException;
    import java.rmi.Naming;
    import java.rmi.NotBoundException;
    import java.rmi.RemoteException;
    
    public class HelloClient {
    
        public static void main(String[] args) {
                try {
                    IHello h = (IHello) Naming.lookup("rmi://localhost:8888/h");
                    h.say();
                } catch (MalformedURLException | RemoteException | NotBoundException e) {
                    e.printStackTrace();
                }
    
        }
    
    }

    先运行HelloServer类,再运行HelloClient类,即可在Console打印出字符串"Hello World"。

    附:其实任何技术的HelloWorld实例都挺有意思的,因为十分地简洁。

  • 相关阅读:
    三层架构之解耦
    自动升级 组件
    C语言常量与指针
    ASP.NET MVC Model元数据
    Web层后端权限模块
    java中文排序问题(转)
    JDWP
    bat执行java程序的脚本解析
    jdom dom4j解析xml不对dtd doctype进行验证(转)
    Dom4j SAXReader Constructors
  • 原文地址:https://www.cnblogs.com/shuada/p/3505888.html
Copyright © 2011-2022 走看看