zoukankan      html  css  js  c++  java
  • RMI简单实现

    在学习EJB的时候,了解了RMI,EJB白话:把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是打包放到一个服务器上。

    下面这位博主关于EJB是什么写的很详细。

    https://www.cnblogs.com/strugglion/p/6027318.html

    本篇重点是简单实现RMI。

    RMI简单实现:

     

    1 创建远程接口,继承Remote接口;

    远程接口中声明了可以被客户端访问的远程方法,远程接口应符合以下条件:

    (1)直接或间接继承java.rmi.Remote接口;

    (2)接口中的所有方法声明抛出java.rmi.RemoteException异常或父异常。

     

    2 创建远程类,实现远程接口;

    远程类应符合以下条件:

    (1)继承java.rmi.server.UnicastRemoteObject类并实现远程接口;

    (2)构造器必须抛出java.rmi.RemoteException异常。

     

    3 创建服务器程序

    方法介绍

    •  bind(String name, Object obj): 注册对象,把对象与服务名绑定。如果该服务名已与其他对象绑定,则会抛出NameAlreadyBoundException异常。
    • rebind(String name, Object obj): 注册对象,把对象与服务名绑定。如果该服务名已与其他对象绑定,不会抛异常,而是将新的对象绑定到该服务名上。

    lookup(String name) 查找对象,返回与指定名称相同的对象

    4 创建客户端程序

    客户端根据服务名查找远程对象,然后调用远程方法。

    package com.h3c;
    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[])throws MalformedURLException,RemoteException,NotBoundException{
            //find  register object
            Hello hello =  (Hello) Naming.lookup("rmi://localhost:8888/Hello");
            //output the client result
            System.out.println("client:");
            System.out.println(hello.sayHello());
    
        }
    
    }

    5 先启动HelloServer,然后启动HelloClient

     

  • 相关阅读:
    checkbox判断选中的三种方法
    bzoj 4031: [HEOI2015]小Z的房间
    bzoj 5056: OI游戏
    Hdoj 5181 numbers
    Loj #6164. 「美团 CodeM 初赛 Round A」数列互质
    Codeforces 869 C The Intriguing Obsession
    Loj #6142. 「2017 山东三轮集训 Day6」A
    bzoj 3714: [PA2014]Kuglarz
    Loj #6185. 烷基计数
    [HNOI2008]水平可见直线
  • 原文地址:https://www.cnblogs.com/joan-HTY/p/9337655.html
Copyright © 2011-2022 走看看