码迷,mamicode.com
首页 > 其他好文 > 详细

RMI简单实现

时间:2018-07-19 21:11:17      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:tps   local   output   方法   rmi   客户端软件   com   ready   row   

在学习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

 技术分享图片

技术分享图片

 

RMI简单实现

标签:tps   local   output   方法   rmi   客户端软件   com   ready   row   

原文地址:https://www.cnblogs.com/joan-HTY/p/9337655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!