转载

RMI大杂烩

package io.github.baijifeilong.rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface ISayHelloService extends Remote {

    String hello(String name) throws RemoteException;
}

服务端

package io.github.baijifeilong.rmi;

import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;

public class RmiServer {
    public static void main(String[] args) throws RemoteException {
        ISayHelloService sayHelloService = new SayHelloService();
        UnicastRemoteObject.exportObject(sayHelloService, 0);
        LocateRegistry.createRegistry(1099).rebind("SayHello", sayHelloService);
    }


    static class SayHelloService implements ISayHelloService {
        @Override
        public String hello(String name) {
            return "hello, " + name;
        }
    }
}

客户端

package io.github.baijifeilong.rmi;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RmiClient {
    public static void main(String[] args) throws RemoteException, NotBoundException {
        // RMI默认端口1099,不需要显式声明
        Registry registry = LocateRegistry.getRegistry();
        ISayHelloService sayHelloService = (ISayHelloService) registry.lookup("SayHello");
        System.out.println(sayHelloService.hello("word"));
    }
}
原文  https://baijifeilong.github.io/2019/01/12/rmi/
正文到此结束
Loading...